#include <hxcpp.h>

#ifndef INCLUDED_Hash
#include <Hash.h>
#endif
#ifndef INCLUDED_Lambda
#include <Lambda.h>
#endif
#ifndef INCLUDED_List
#include <List.h>
#endif
#ifndef INCLUDED_hxMath
#include <hxMath.h>
#endif
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
#ifndef INCLUDED_StringTools
#include <StringTools.h>
#endif
#ifndef INCLUDED_Type
#include <Type.h>
#endif
#ifndef INCLUDED_ValueType
#include <ValueType.h>
#endif
#ifndef INCLUDED_cpp_CppInt32__
#include <cpp/CppInt32__.h>
#endif
#ifndef INCLUDED_cpp_vm_Gc
#include <cpp/vm/Gc.h>
#endif
#ifndef INCLUDED_format_zip_Reader
#include <format/zip/Reader.h>
#endif
#ifndef INCLUDED_haxe_Int64
#include <haxe/Int64.h>
#endif
#ifndef INCLUDED_haxe_Log
#include <haxe/Log.h>
#endif
#ifndef INCLUDED_haxe_Public
#include <haxe/Public.h>
#endif
#ifndef INCLUDED_haxe_Resource
#include <haxe/Resource.h>
#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
#ifndef INCLUDED_haxe_io_BytesBuffer
#include <haxe/io/BytesBuffer.h>
#endif
#ifndef INCLUDED_haxe_io_BytesInput
#include <haxe/io/BytesInput.h>
#endif
#ifndef INCLUDED_haxe_io_BytesOutput
#include <haxe/io/BytesOutput.h>
#endif
#ifndef INCLUDED_haxe_io_Eof
#include <haxe/io/Eof.h>
#endif
#ifndef INCLUDED_haxe_io_Input
#include <haxe/io/Input.h>
#endif
#ifndef INCLUDED_haxe_io_Output
#include <haxe/io/Output.h>
#endif
#ifndef INCLUDED_jax_JArray
#include <jax/JArray.h>
#endif
#ifndef INCLUDED_jax_JAttribute
#include <jax/JAttribute.h>
#endif
#ifndef INCLUDED_jax_JClassField
#include <jax/JClassField.h>
#endif
#ifndef INCLUDED_jax_JCode
#include <jax/JCode.h>
#endif
#ifndef INCLUDED_jax_JConstant
#include <jax/JConstant.h>
#endif
#ifndef INCLUDED_jax_JMethod
#include <jax/JMethod.h>
#endif
#ifndef INCLUDED_jax_JProperties
#include <jax/JProperties.h>
#endif
#ifndef INCLUDED_jax_JTryCatch
#include <jax/JTryCatch.h>
#endif
#ifndef INCLUDED_jax_JVM
#include <jax/JVM.h>
#endif
#ifndef INCLUDED_jax_JValue
#include <jax/JValue.h>
#endif
#ifndef INCLUDED_jax_io_JCloseable
#include <jax/io/JCloseable.h>
#endif
#ifndef INCLUDED_jax_io_JConsole
#include <jax/io/JConsole.h>
#endif
#ifndef INCLUDED_jax_io_JDataInput
#include <jax/io/JDataInput.h>
#endif
#ifndef INCLUDED_jax_io_JFile
#include <jax/io/JFile.h>
#endif
#ifndef INCLUDED_jax_io_JFilterOutputStream
#include <jax/io/JFilterOutputStream.h>
#endif
#ifndef INCLUDED_jax_io_JOutputStream
#include <jax/io/JOutputStream.h>
#endif
#ifndef INCLUDED_jax_io_JPrintStream
#include <jax/io/JPrintStream.h>
#endif
#ifndef INCLUDED_jax_io_JReadable
#include <jax/io/JReadable.h>
#endif
#ifndef INCLUDED_jax_io_JReader
#include <jax/io/JReader.h>
#endif
#ifndef INCLUDED_jax_lang_JAutoClosable
#include <jax/lang/JAutoClosable.h>
#endif
#ifndef INCLUDED_jax_lang_JBoolean
#include <jax/lang/JBoolean.h>
#endif
#ifndef INCLUDED_jax_lang_JCharSequence
#include <jax/lang/JCharSequence.h>
#endif
#ifndef INCLUDED_jax_lang_JClass
#include <jax/lang/JClass.h>
#endif
#ifndef INCLUDED_jax_lang_JException
#include <jax/lang/JException.h>
#endif
#ifndef INCLUDED_jax_lang_JField
#include <jax/lang/JField.h>
#endif
#ifndef INCLUDED_jax_lang_JNullPointerException
#include <jax/lang/JNullPointerException.h>
#endif
#ifndef INCLUDED_jax_lang_JObject
#include <jax/lang/JObject.h>
#endif
#ifndef INCLUDED_jax_lang_JRuntime
#include <jax/lang/JRuntime.h>
#endif
#ifndef INCLUDED_jax_lang_JString
#include <jax/lang/JString.h>
#endif
#ifndef INCLUDED_jax_lang_JStringBuilder
#include <jax/lang/JStringBuilder.h>
#endif
#ifndef INCLUDED_jax_lang_JSystem
#include <jax/lang/JSystem.h>
#endif
#ifndef INCLUDED_jax_lang_JThrowable
#include <jax/lang/JThrowable.h>
#endif
namespace jax{

Void JVM_obj::__construct()
{
	return null();
}

JVM_obj::~JVM_obj() { }

Dynamic JVM_obj::__CreateEmpty() { return  new JVM_obj; }
hx::ObjectPtr< JVM_obj > JVM_obj::__new()
{  hx::ObjectPtr< JVM_obj > result = new JVM_obj();
	result->__construct();
	return result;}

Dynamic JVM_obj::__Create(hx::DynamicArray inArgs)
{  hx::ObjectPtr< JVM_obj > result = new JVM_obj();
	result->__construct();
	return result;}

Dynamic JVM_obj::stack;

::Hash JVM_obj::classes;

::Hash JVM_obj::externs;

int JVM_obj::CLASS_REF_INDEX;

int JVM_obj::resolveRef( ::jax::JConstant c){
	HX_SOURCE_PUSH("JVM_obj::resolveRef")
	struct _Function_1_1{
		inline static int Block( ::jax::JConstant &c){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",19)
				{
::jax::JConstant _switch_1 = (c);
					switch((_switch_1)->GetIndex()){
						case 5: {
							int i = _switch_1->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",20)
								return i;
							}
						}
						;break;
						case 6: {
							int i = _switch_1->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",21)
								return i;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",22)
							return (int)0;
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",18)
	return _Function_1_1::Block(c);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,resolveRef,return )

::jax::lang::JClass JVM_obj::readClass( ::haxe::io::BytesInput b){
	HX_SOURCE_PUSH("JVM_obj::readClass")
	HX_SOURCE_POS("Source/jax/JVM.hx",27)
	b->setEndian(true);
	HX_SOURCE_POS("Source/jax/JVM.hx",28)
	if (((b->readByte() != (int)202))){
		HX_SOURCE_POS("Source/jax/JVM.hx",28)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",29)
	if (((b->readByte() != (int)254))){
		HX_SOURCE_POS("Source/jax/JVM.hx",29)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",30)
	if (((b->readByte() != (int)186))){
		HX_SOURCE_POS("Source/jax/JVM.hx",30)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",31)
	if (((b->readByte() != (int)190))){
		HX_SOURCE_POS("Source/jax/JVM.hx",31)
		hx::Throw (HX_CSTRING("Malformed magic number in class file"));
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",32)
	::jax::lang::JClass c = ::jax::lang::JClass_obj::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",33)
	Array< int > classrefs = Array_obj< int >::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",34)
	c->minor_version = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",35)
	c->major_version = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",36)
	c->const_pool_count = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",37)
	c->const_pool = Array_obj< ::jax::JConstant >::__new().Add(null());
	HX_SOURCE_POS("Source/jax/JVM.hx",39)
	::haxe::Log_obj::trace((HX_CSTRING("Pool Count: ") + c->const_pool_count),hx::SourceInfo(HX_CSTRING("JVM.hx"),39,HX_CSTRING("jax.JVM"),HX_CSTRING("readClass")));
	HX_SOURCE_POS("Source/jax/JVM.hx",41)
	while(((c->const_pool->length <= (c->const_pool_count - (int)1)))){
		HX_SOURCE_POS("Source/jax/JVM.hx",42)
		int bi = b->readByte();
		struct _Function_2_1{
			inline static ::jax::JConstant Block( int &bi,::haxe::io::BytesInput &b,Array< int > &classrefs,::jax::lang::JClass &c){
				{
					HX_SOURCE_POS("Source/jax/JVM.hx",43)
					switch( (int)(bi)){
						case (int)1: {
							HX_SOURCE_POS("Source/jax/JVM.hx",44)
							return ::jax::JConstant_obj::str(b->readString(b->readInt16()));
						}
						;break;
						case (int)2: {
							HX_SOURCE_POS("Source/jax/JVM.hx",46)
							return ::jax::JConstant_obj::str(b->readString(b->readInt16()));
						}
						;break;
						case (int)3: {
							HX_SOURCE_POS("Source/jax/JVM.hx",48)
							return ::jax::JConstant_obj::i32(b->readInt32());
						}
						;break;
						case (int)4: {
							HX_SOURCE_POS("Source/jax/JVM.hx",50)
							return ::jax::JConstant_obj::flt(b->readFloat());
						}
						;break;
						case (int)5: {
							HX_SOURCE_POS("Source/jax/JVM.hx",53)
							::cpp::CppInt32__ high = b->readInt32();
							HX_SOURCE_POS("Source/jax/JVM.hx",54)
							::cpp::CppInt32__ low = b->readInt32();
							struct _Function_4_1{
								inline static Dynamic Block( ::cpp::CppInt32__ &high,::cpp::CppInt32__ &low){
									{
										hx::Anon __result = hx::Anon_obj::Create();
										__result->Add(HX_CSTRING("high") , high,false);
										__result->Add(HX_CSTRING("low") , low,false);
										return __result;
									}
									return null();
								}
							};
							HX_SOURCE_POS("Source/jax/JVM.hx",58)
							return ::jax::JConstant_obj::i64(_Function_4_1::Block(high,low));
						}
						;break;
						case (int)6: {
							HX_SOURCE_POS("Source/jax/JVM.hx",60)
							return ::jax::JConstant_obj::dbl(b->readDouble());
						}
						;break;
						case (int)7: {
							HX_SOURCE_POS("Source/jax/JVM.hx",63)
							classrefs->push(c->const_pool->length);
							HX_SOURCE_POS("Source/jax/JVM.hx",64)
							return ::jax::JConstant_obj::classref(b->readInt16());
						}
						;break;
						case (int)8: {
							HX_SOURCE_POS("Source/jax/JVM.hx",65)
							return ::jax::JConstant_obj::stringref(b->readInt16());
						}
						;break;
						case (int)9: {
							HX_SOURCE_POS("Source/jax/JVM.hx",68)
							int nt = b->readInt16();
							HX_SOURCE_POS("Source/jax/JVM.hx",69)
							return ::jax::JConstant_obj::fieldref(nt,b->readInt16());
						}
						;break;
						case (int)10: {
							HX_SOURCE_POS("Source/jax/JVM.hx",71)
							int nt = b->readInt16();
							HX_SOURCE_POS("Source/jax/JVM.hx",72)
							return ::jax::JConstant_obj::methodref(nt,b->readInt16());
						}
						;break;
						case (int)11: {
							HX_SOURCE_POS("Source/jax/JVM.hx",74)
							int nt = b->readInt16();
							HX_SOURCE_POS("Source/jax/JVM.hx",75)
							return ::jax::JConstant_obj::imethodref(nt,b->readInt16());
						}
						;break;
						case (int)12: {
							HX_SOURCE_POS("Source/jax/JVM.hx",77)
							int t = b->readInt16();
							HX_SOURCE_POS("Source/jax/JVM.hx",78)
							return ::jax::JConstant_obj::nameandtype(t,b->readInt16());
						}
						;break;
						case (int)15: {
							HX_SOURCE_POS("Source/jax/JVM.hx",80)
							int kind = b->readByte();
							HX_SOURCE_POS("Source/jax/JVM.hx",81)
							return ::jax::JConstant_obj::methodhandle(kind,b->readInt16());
						}
						;break;
						case (int)16: {
							HX_SOURCE_POS("Source/jax/JVM.hx",82)
							return ::jax::JConstant_obj::methodtype(b->readInt16());
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",85)
							::haxe::Log_obj::trace((HX_CSTRING("Unknown tag byte: ") + ::StringTools_obj::hex(bi,null())),hx::SourceInfo(HX_CSTRING("JVM.hx"),85,HX_CSTRING("jax.JVM"),HX_CSTRING("readClass")));
							HX_SOURCE_POS("Source/jax/JVM.hx",86)
							return ::jax::JConstant_obj::str(HX_CSTRING("???"));
						}
					}
				}
				return null();
			}
		};
		HX_SOURCE_POS("Source/jax/JVM.hx",43)
		::jax::JConstant constant = _Function_2_1::Block(bi,b,classrefs,c);
		HX_SOURCE_POS("Source/jax/JVM.hx",89)
		::haxe::Log_obj::trace(((((c->const_pool->length + HX_CSTRING("th Constant ")) + bi) + HX_CSTRING(" added: ")) + ::Std_obj::string(constant)),hx::SourceInfo(HX_CSTRING("JVM.hx"),89,HX_CSTRING("jax.JVM"),HX_CSTRING("readClass")));
		HX_SOURCE_POS("Source/jax/JVM.hx",91)
		c->const_pool->push(constant);
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",93)
	c->access_flags = b->readByte();
	HX_SOURCE_POS("Source/jax/JVM.hx",94)
	c->bitmask = b->readByte();
	HX_SOURCE_POS("Source/jax/JVM.hx",95)
	c->this_id = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",96)
	c->super_id = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",97)
	c->interf_count = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",98)
	c->interfaces = Array_obj< int >::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",99)
	while(((c->interfaces->length < c->interf_count))){
		HX_SOURCE_POS("Source/jax/JVM.hx",99)
		c->interfaces->push(b->readInt16());
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",102)
	int fields_count = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",103)
	c->cfields = Array_obj< ::jax::JClassField >::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",104)
	while(((c->cfields->length < fields_count))){
		HX_SOURCE_POS("Source/jax/JVM.hx",105)
		::jax::JClassField field = ::jax::JClassField_obj::__new();
		HX_SOURCE_POS("Source/jax/JVM.hx",106)
		field->access_flags = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",107)
		field->name_index = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",108)
		field->descriptor_index = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",109)
		field->attributes_count = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",110)
		field->attributes = Array_obj< ::jax::JAttribute >::__new();
		HX_SOURCE_POS("Source/jax/JVM.hx",111)
		while(((field->attributes->length < field->attributes_count))){
			HX_SOURCE_POS("Source/jax/JVM.hx",111)
			field->attributes->push(::jax::JVM_obj::readAttribute(c->const_pool,b));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",114)
		c->cfields->push(field);
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",116)
	int methods_count = b->readInt16();
	HX_SOURCE_POS("Source/jax/JVM.hx",117)
	c->methods = Array_obj< ::jax::JMethod >::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",118)
	while(((c->methods->length < methods_count))){
		HX_SOURCE_POS("Source/jax/JVM.hx",119)
		::jax::JMethod method = ::jax::JMethod_obj::__new();
		HX_SOURCE_POS("Source/jax/JVM.hx",120)
		method->access_flags = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",121)
		method->name_index = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",122)
		method->descriptor_index = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",123)
		method->attributes_count = b->readInt16();
		HX_SOURCE_POS("Source/jax/JVM.hx",124)
		method->attributes = Array_obj< ::jax::JAttribute >::__new();
		HX_SOURCE_POS("Source/jax/JVM.hx",125)
		while(((method->attributes->length < method->attributes_count))){
			HX_SOURCE_POS("Source/jax/JVM.hx",125)
			method->attributes->push(::jax::JVM_obj::readAttribute(c->const_pool,b));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",128)
		c->methods->push(method);
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",130)
	b->close();
	struct _Function_1_1{
		inline static int Block( ::jax::lang::JClass &c){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",131)
				{
::jax::JConstant _switch_2 = (c->const_pool->__get(c->this_id));
					switch((_switch_2)->GetIndex()){
						case 5: {
							int i = _switch_2->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",131)
								return i;
							}
						}
						;break;
						case 6: {
							int i = _switch_2->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",131)
								return i;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",131)
							return (int)0;
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",131)
	::String tname = ::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(c->const_pool->__get(_Function_1_1::Block(c)),null()));
	HX_SOURCE_POS("Source/jax/JVM.hx",133)
	c->initc();
	HX_SOURCE_POS("Source/jax/JVM.hx",134)
	::jax::JVM_obj::classes->set(tname,c);
	HX_SOURCE_POS("Source/jax/JVM.hx",135)
	return c;
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,readClass,return )

::jax::JAttribute JVM_obj::readAttribute( Array< ::jax::JConstant > pool,::haxe::io::BytesInput i){
	HX_SOURCE_PUSH("JVM_obj::readAttribute")
	HX_SOURCE_POS("Source/jax/JVM.hx",138)
	::jax::JConstant name = pool->__get(i->readInt16());
	HX_SOURCE_POS("Source/jax/JVM.hx",139)
	int length = ::cpp::CppInt32___obj::toInt(i->readInt32());
	HX_SOURCE_POS("Source/jax/JVM.hx",140)
	::haxe::io::BytesOutput bo = ::haxe::io::BytesOutput_obj::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",141)
	{
		HX_SOURCE_POS("Source/jax/JVM.hx",141)
		int _g = (int)0;
		HX_SOURCE_POS("Source/jax/JVM.hx",141)
		while(((_g < length))){
			HX_SOURCE_POS("Source/jax/JVM.hx",141)
			int i1 = (_g)++;
			HX_SOURCE_POS("Source/jax/JVM.hx",142)
			bo->writeByte((int)0);
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",143)
	bo->close();
	HX_SOURCE_POS("Source/jax/JVM.hx",144)
	::haxe::io::Bytes bytes = bo->getBytes();
	HX_SOURCE_POS("Source/jax/JVM.hx",145)
	i->readBytes(bytes,(int)0,length);
	struct _Function_1_1{
		inline static ::jax::JAttribute Block( ::haxe::io::Bytes &bytes,Array< ::jax::JConstant > &pool,::jax::JConstant &name){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",147)
				{
::jax::JConstant _switch_3 = (name);
					switch((_switch_3)->GetIndex()){
						case 0: {
							::String s = _switch_3->__Param(0);
{
								struct _Function_3_1{
									inline static ::jax::JAttribute Block( ::haxe::io::Bytes &bytes,::String &s,Array< ::jax::JConstant > &pool){
										{
											HX_SOURCE_POS("Source/jax/JVM.hx",148)
											::String _switch_4 = (s);
											if (  ( _switch_4==HX_CSTRING("Code"))){
												HX_SOURCE_POS("Source/jax/JVM.hx",151)
												::jax::JCode code = ::jax::JCode_obj::__new();
												HX_SOURCE_POS("Source/jax/JVM.hx",152)
												::haxe::io::BytesInput bi = ::haxe::io::BytesInput_obj::__new(bytes,null(),null());
												HX_SOURCE_POS("Source/jax/JVM.hx",153)
												bi->setEndian(true);
												HX_SOURCE_POS("Source/jax/JVM.hx",154)
												code->max_stack = bi->readInt16();
												HX_SOURCE_POS("Source/jax/JVM.hx",155)
												code->max_locals = bi->readInt16();
												HX_SOURCE_POS("Source/jax/JVM.hx",156)
												int code_length = ::cpp::CppInt32___obj::toInt(bi->readInt32());
												HX_SOURCE_POS("Source/jax/JVM.hx",157)
												::haxe::io::BytesBuffer codei = ::haxe::io::BytesBuffer_obj::__new();
												HX_SOURCE_POS("Source/jax/JVM.hx",158)
												while((((code_length)-- > (int)0))){
													HX_SOURCE_POS("Source/jax/JVM.hx",159)
													codei->b->push(bi->readByte());
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",160)
												code->code = codei->getBytes();
												HX_SOURCE_POS("Source/jax/JVM.hx",161)
												int trys_length = bi->readInt16();
												HX_SOURCE_POS("Source/jax/JVM.hx",162)
												code->trys = Array_obj< ::jax::JTryCatch >::__new();
												HX_SOURCE_POS("Source/jax/JVM.hx",163)
												{
													HX_SOURCE_POS("Source/jax/JVM.hx",163)
													int _g = (int)0;
													HX_SOURCE_POS("Source/jax/JVM.hx",163)
													while(((_g < trys_length))){
														HX_SOURCE_POS("Source/jax/JVM.hx",163)
														int i1 = (_g)++;
														HX_SOURCE_POS("Source/jax/JVM.hx",164)
														code->trys[i1] = ::jax::JTryCatch_obj::__new();
														HX_SOURCE_POS("Source/jax/JVM.hx",165)
														code->trys->__get(i1)->start_pc = bi->readInt16();
														HX_SOURCE_POS("Source/jax/JVM.hx",166)
														code->trys->__get(i1)->end_pc = bi->readInt16();
														HX_SOURCE_POS("Source/jax/JVM.hx",167)
														code->trys->__get(i1)->handler_pc = bi->readInt16();
														HX_SOURCE_POS("Source/jax/JVM.hx",168)
														code->trys->__get(i1)->catch_type = bi->readInt16();
													}
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",170)
												int attributes_count = bi->readInt16();
												HX_SOURCE_POS("Source/jax/JVM.hx",171)
												code->attributes = Array_obj< ::jax::JAttribute >::__new();
												HX_SOURCE_POS("Source/jax/JVM.hx",172)
												{
													HX_SOURCE_POS("Source/jax/JVM.hx",172)
													int _g = (int)0;
													HX_SOURCE_POS("Source/jax/JVM.hx",172)
													while(((_g < attributes_count))){
														HX_SOURCE_POS("Source/jax/JVM.hx",172)
														int i1 = (_g)++;
														HX_SOURCE_POS("Source/jax/JVM.hx",173)
														code->attributes[i1] = ::jax::JVM_obj::readAttribute(pool,bi);
													}
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",175)
												return ::jax::JAttribute_obj::Code(code);
											}
											else if (  ( _switch_4==HX_CSTRING("Synthetic"))){
												HX_SOURCE_POS("Source/jax/JVM.hx",176)
												return ::jax::JAttribute_obj::Synthetic_dyn();
											}
											else if (  ( _switch_4==HX_CSTRING("ConstantValue"))){
												HX_SOURCE_POS("Source/jax/JVM.hx",177)
												return ::jax::JAttribute_obj::ConstantValue_dyn();
											}
											else if (  ( _switch_4==HX_CSTRING("SourceFile"))){
												HX_SOURCE_POS("Source/jax/JVM.hx",178)
												return ::jax::JAttribute_obj::SourceFile(bytes->readString((int)0,bytes->length));
											}
											else  {
												HX_SOURCE_POS("Source/jax/JVM.hx",179)
												return null();
											}
;
;
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/jax/JVM.hx",148)
								return _Function_3_1::Block(bytes,s,pool);
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",181)
							return null();
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",147)
	return _Function_1_1::Block(bytes,pool,name);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC2(JVM_obj,readAttribute,return )

Dynamic JVM_obj::toNativeValue( ::jax::JValue v){
	HX_SOURCE_PUSH("JVM_obj::toNativeValue")
	HX_SOURCE_POS("Source/jax/JVM.hx",185)
	Dynamic r = null();
	HX_SOURCE_POS("Source/jax/JVM.hx",187)
	::haxe::Log_obj::trace(((HX_CSTRING("Converting ") + ::Std_obj::string(v)) + HX_CSTRING(" to native")),hx::SourceInfo(HX_CSTRING("JVM.hx"),187,HX_CSTRING("jax.JVM"),HX_CSTRING("toNativeValue")));
	HX_SOURCE_POS("Source/jax/JVM.hx",189)
	{
::jax::JValue _switch_5 = (v);
		switch((_switch_5)->GetIndex()){
			case 0: {
				::jax::JArray v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",190)
					r = ::Lambda_obj::array(::Lambda_obj::map(v1->arr,::jax::JVM_obj::toNativeValue_dyn()));
				}
			}
			;break;
			case 2: {
				Dynamic v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",191)
					::Class _switch_6 = (::Type_obj::getClass(v1));
					if (  ( _switch_6==hx::ClassOf< ::jax::lang::JString >())){
						HX_SOURCE_POS("Source/jax/JVM.hx",193)
						r = (hx::TCast< jax::lang::JString >::cast(v1))->val;
					}
					else  {
						HX_SOURCE_POS("Source/jax/JVM.hx",194)
						r = v1;
					}
;
;
				}
			}
			;break;
			case 5: {
				::cpp::CppInt32__ v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",196)
					r = v1;
				}
			}
			;break;
			case 6: {
				::haxe::Int64 v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",197)
					r = v1;
				}
			}
			;break;
			case 7: {
				int v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",198)
					r = v1;
				}
			}
			;break;
			case 10: {
				int v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",199)
					r = v1;
				}
			}
			;break;
			case 3: {
				Float v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",200)
					r = v1;
				}
			}
			;break;
			case 4: {
				Float v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",201)
					r = v1;
				}
			}
			;break;
			case 8: {
				int v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",202)
					r = v1;
				}
			}
			;break;
			case 9: {
				bool v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",203)
					r = v1;
				}
			}
			;break;
			case 1: {
				::jax::lang::JObject v1 = _switch_5->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",204)
					if (((v1->_type == HX_CSTRING("String")))){
						HX_SOURCE_POS("Source/jax/JVM.hx",205)
						r = (hx::TCast< jax::lang::JString >::cast(v1))->val;
					}
					else{
						HX_SOURCE_POS("Source/jax/JVM.hx",207)
						r = v1;
					}
				}
			}
			;break;
			case 11: {
				HX_SOURCE_POS("Source/jax/JVM.hx",208)
				hx::ClassOf< ::Void >();
			}
			;break;
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",211)
	::haxe::Log_obj::trace(r,hx::SourceInfo(HX_CSTRING("JVM.hx"),211,HX_CSTRING("jax.JVM"),HX_CSTRING("toNativeValue")));
	HX_SOURCE_POS("Source/jax/JVM.hx",213)
	return r;
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,toNativeValue,return )

Void JVM_obj::runClass( ::String name){
{
		HX_SOURCE_PUSH("JVM_obj::runClass")
		HX_SOURCE_POS("Source/jax/JVM.hx",216)
		::jax::lang::JClass c = ::jax::JVM_obj::classes->get(name);
		HX_SOURCE_POS("Source/jax/JVM.hx",217)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",217)
			int _g = (int)0;
			Array< ::jax::JMethod > _g1 = c->methods;
			HX_SOURCE_POS("Source/jax/JVM.hx",217)
			while(((_g < _g1->length))){
				HX_SOURCE_POS("Source/jax/JVM.hx",217)
				::jax::JMethod m = _g1->__get(_g);
				HX_SOURCE_POS("Source/jax/JVM.hx",217)
				++(_g);
				struct _Function_3_1{
					inline static ::String Block( ::jax::lang::JClass &c,::jax::JMethod &m){
						{
							HX_SOURCE_POS("Source/jax/JVM.hx",218)
							{
::jax::JConstant _switch_7 = (c->const_pool->__get(m->name_index));
								switch((_switch_7)->GetIndex()){
									case 0: {
										::String s = _switch_7->__Param(0);
{
											HX_SOURCE_POS("Source/jax/JVM.hx",218)
											return s;
										}
									}
									;break;
									default: {
										HX_SOURCE_POS("Source/jax/JVM.hx",218)
										return hx::Throw (HX_CSTRING("Not a string"));
									}
								}
							}
						}
						return null();
					}
				};
				HX_SOURCE_POS("Source/jax/JVM.hx",218)
				::String name1 = _Function_3_1::Block(c,m);
				HX_SOURCE_POS("Source/jax/JVM.hx",219)
				if (((name1 == HX_CSTRING("main")))){
					HX_SOURCE_POS("Source/jax/JVM.hx",220)
					int _g2 = (int)0;
					Array< ::jax::JAttribute > _g3 = m->attributes;
					HX_SOURCE_POS("Source/jax/JVM.hx",220)
					while(((_g2 < _g3->length))){
						HX_SOURCE_POS("Source/jax/JVM.hx",220)
						::jax::JAttribute att = _g3->__get(_g2);
						HX_SOURCE_POS("Source/jax/JVM.hx",220)
						++(_g2);
						HX_SOURCE_POS("Source/jax/JVM.hx",221)
						{
::jax::JAttribute _switch_8 = (att);
							switch((_switch_8)->GetIndex()){
								case 0: {
									::jax::JCode b = _switch_8->__Param(0);
{
										HX_SOURCE_POS("Source/jax/JVM.hx",223)
										::haxe::io::BytesInput bi = ::haxe::io::BytesInput_obj::__new(b->code,null(),null());
										HX_SOURCE_POS("Source/jax/JVM.hx",224)
										::String s = HX_CSTRING("");
										HX_SOURCE_POS("Source/jax/JVM.hx",225)
										try{
											HX_SOURCE_POS("Source/jax/JVM.hx",225)
											while((true)){
												HX_SOURCE_POS("Source/jax/JVM.hx",227)
												::String ms = ::StringTools_obj::hex(bi->readByte(),null());
												HX_SOURCE_POS("Source/jax/JVM.hx",228)
												if (((ms.length < (int)2))){
													HX_SOURCE_POS("Source/jax/JVM.hx",229)
													ms = (HX_CSTRING("0") + ms);
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",230)
												hx::AddEq(s,(ms + HX_CSTRING(" ")));
											}
										}
										catch(Dynamic __e){
											if (__e.IsClass< ::haxe::io::Eof >() ){
												::haxe::io::Eof d = __e;{
													HX_SOURCE_POS("Source/jax/JVM.hx",232)
													bi->close();
												}
											}
											else throw(__e);
										}
										HX_SOURCE_POS("Source/jax/JVM.hx",233)
										::jax::JVM_obj::exec(c,b->code,Dynamic( Array_obj<Dynamic>::__new()));
									}
								}
								;break;
								default: {
								}
							}
						}
					}
				}
			}
		}
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,runClass,(void))

Void JVM_obj::gc( ){
{
		HX_SOURCE_PUSH("JVM_obj::gc")
		HX_SOURCE_POS("Source/jax/JVM.hx",240)
		::cpp::vm::Gc_obj::run(false);
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC0(JVM_obj,gc,(void))

Void JVM_obj::readJarPath( ::String p){
{
		HX_SOURCE_PUSH("JVM_obj::readJarPath")
		HX_SOURCE_POS("Source/jax/JVM.hx",259)
		::haxe::io::BytesInput bi = null();
		HX_SOURCE_POS("Source/jax/JVM.hx",260)
		::jax::JVM_obj::readJar(bi);
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,readJarPath,(void))

Void JVM_obj::readJar( ::haxe::io::BytesInput bi){
{
		HX_SOURCE_PUSH("JVM_obj::readJar")
		HX_SOURCE_POS("Source/jax/JVM.hx",263)
		::List data = ::format::zip::Reader_obj::__new(bi)->read();
		HX_SOURCE_POS("Source/jax/JVM.hx",264)
		::Hash manifest = null();
		HX_SOURCE_POS("Source/jax/JVM.hx",265)
		for(::cpp::FastIterator_obj< Dynamic > *__it = ::cpp::CreateFastIterator< Dynamic >(data->iterator());  __it->hasNext(); ){
			Dynamic d = __it->next();
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",266)
				if ((::StringTools_obj::endsWith(d->__Field(HX_CSTRING("fileName"),true),HX_CSTRING(".class")))){
					HX_SOURCE_POS("Source/jax/JVM.hx",266)
					::jax::JVM_obj::readClass(::haxe::io::BytesInput_obj::__new(d->__Field(HX_CSTRING("data"),true),null(),null()));
				}
				else{
					HX_SOURCE_POS("Source/jax/JVM.hx",268)
					if (((d->__Field(HX_CSTRING("fileName"),true)->__Field(HX_CSTRING("toLowerCase"),true)() == HX_CSTRING("meta-inf/manifest.mf")))){
						HX_SOURCE_POS("Source/jax/JVM.hx",270)
						::haxe::io::BytesInput bi1 = ::haxe::io::BytesInput_obj::__new(d->__Field(HX_CSTRING("data"),true),null(),null());
						HX_SOURCE_POS("Source/jax/JVM.hx",271)
						manifest = ::jax::JProperties_obj::read(bi1->readString(d->__Field(HX_CSTRING("dataSize"),true)));
						HX_SOURCE_POS("Source/jax/JVM.hx",272)
						bi1->close();
					}
				}
				HX_SOURCE_POS("Source/jax/JVM.hx",275)
				::cpp::vm::Gc_obj::run(false);
			}
;
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",277)
		if ((manifest->exists(HX_CSTRING("Class-Path")))){
			HX_SOURCE_POS("Source/jax/JVM.hx",278)
			Array< ::String > jars = manifest->get(HX_CSTRING("Class-Path"))->__Field(HX_CSTRING("split"),true)(HX_CSTRING(" "));
			HX_SOURCE_POS("Source/jax/JVM.hx",279)
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",279)
				int _g = (int)0;
				HX_SOURCE_POS("Source/jax/JVM.hx",279)
				while(((_g < jars->length))){
					HX_SOURCE_POS("Source/jax/JVM.hx",279)
					::String jar = jars->__get(_g);
					HX_SOURCE_POS("Source/jax/JVM.hx",279)
					++(_g);
					HX_SOURCE_POS("Source/jax/JVM.hx",280)
					jar = ::StringTools_obj::trim(jar);
					HX_SOURCE_POS("Source/jax/JVM.hx",281)
					::jax::JVM_obj::readJarPath(jar);
				}
			}
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",284)
		if ((manifest->exists(HX_CSTRING("Main-Class")))){
			HX_SOURCE_POS("Source/jax/JVM.hx",285)
			::jax::JVM_obj::runClass(::StringTools_obj::replace(manifest->get(HX_CSTRING("Main-Class")),HX_CSTRING("."),HX_CSTRING("/")));
		}
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,readJar,(void))

Void JVM_obj::addClass( ::Class c){
{
		HX_SOURCE_PUSH("JVM_obj::addClass")
		HX_SOURCE_POS("Source/jax/JVM.hx",288)
		::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
		HX_SOURCE_POS("Source/jax/JVM.hx",289)
		Array< ::String > names = name.split(HX_CSTRING("/"));
		HX_SOURCE_POS("Source/jax/JVM.hx",290)
		::String aname = names->__get((names->length - (int)1));
		HX_SOURCE_POS("Source/jax/JVM.hx",291)
		if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
			HX_SOURCE_POS("Source/jax/JVM.hx",292)
			aname = aname.substring((int)1,null());
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",293)
		name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
		HX_SOURCE_POS("Source/jax/JVM.hx",294)
		::jax::JVM_obj::externs->set(name,c);
		HX_SOURCE_POS("Source/jax/JVM.hx",296)
		::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,addClass,(void))

Void JVM_obj::init( ){
{
		HX_SOURCE_PUSH("JVM_obj::init")
		HX_SOURCE_POS("Source/jax/JVM.hx",300)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			::Class c = hx::ClassOf< ::jax::lang::JAutoClosable >();
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",300)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",300)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",301)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			::Class c = hx::ClassOf< ::jax::lang::JBoolean >();
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",301)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",301)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",302)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			::Class c = hx::ClassOf< ::jax::lang::JException >();
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",302)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",302)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",303)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			::Class c = hx::ClassOf< ::jax::lang::JNullPointerException >();
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",303)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",303)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",304)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			::Class c = hx::ClassOf< ::jax::lang::JThrowable >();
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",304)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",304)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",305)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			::Class c = hx::ClassOf< ::jax::lang::JCharSequence >();
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",305)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",305)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",306)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			::Class c = hx::ClassOf< ::jax::lang::JStringBuilder >();
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",306)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",306)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",307)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			::Class c = hx::ClassOf< ::jax::lang::JString >();
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",307)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",307)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",308)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			::Class c = hx::ClassOf< ::jax::lang::JSystem >();
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",308)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",308)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",309)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			::Class c = hx::ClassOf< ::jax::lang::JObject >();
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",309)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",309)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",310)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			::Class c = hx::ClassOf< ::jax::lang::JRuntime >();
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",310)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",310)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",311)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			::Class c = hx::ClassOf< ::jax::io::JPrintStream >();
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",311)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",311)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",312)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			::Class c = hx::ClassOf< ::jax::io::JCloseable >();
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",312)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",312)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",313)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			::Class c = hx::ClassOf< ::jax::io::JReader >();
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",313)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",313)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",314)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			::Class c = hx::ClassOf< ::jax::io::JReadable >();
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",314)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",314)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",315)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			::Class c = hx::ClassOf< ::jax::io::JConsole >();
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",315)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",315)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",316)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			::Class c = hx::ClassOf< ::jax::io::JDataInput >();
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",316)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",316)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",317)
		{
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			::Class c = hx::ClassOf< ::jax::io::JFile >();
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			::String name = ::StringTools_obj::replace(::StringTools_obj::replace(::Type_obj::getClassName(c),HX_CSTRING("."),HX_CSTRING("/")),HX_CSTRING("jax"),HX_CSTRING("java"));
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			Array< ::String > names = name.split(HX_CSTRING("/"));
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			::String aname = names->__get((names->length - (int)1));
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			if (((aname.indexOf(HX_CSTRING("J"),null()) == (int)0))){
				HX_SOURCE_POS("Source/jax/JVM.hx",317)
				aname = aname.substring((int)1,null());
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			name = ((name.substr((int)0,name.lastIndexOf(HX_CSTRING("/"),null())) + HX_CSTRING("/")) + aname);
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			::jax::JVM_obj::externs->set(name,c);
			HX_SOURCE_POS("Source/jax/JVM.hx",317)
			::haxe::Log_obj::trace((HX_CSTRING("External Class added: ") + name),hx::SourceInfo(HX_CSTRING("JVM.hx"),296,HX_CSTRING("jax.JVM"),HX_CSTRING("addClass")));
		}
		HX_SOURCE_POS("Source/jax/JVM.hx",319)
		::haxe::Log_obj::trace((HX_CSTRING("External Classes: ") + ::Std_obj::string(::jax::JVM_obj::externs->keys())),hx::SourceInfo(HX_CSTRING("JVM.hx"),319,HX_CSTRING("jax.JVM"),HX_CSTRING("init")));
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC0(JVM_obj,init,(void))

Void JVM_obj::main( ){
{
		HX_SOURCE_PUSH("JVM_obj::main")
		HX_SOURCE_POS("Source/jax/JVM.hx",323)
		::jax::JVM_obj::init();
		HX_SOURCE_POS("Source/jax/JVM.hx",324)
		::String main = HX_CSTRING("HelloWorld");
		HX_SOURCE_POS("Source/jax/JVM.hx",325)
		::jax::JVM_obj::readClass(::haxe::io::BytesInput_obj::__new(::haxe::Resource_obj::getBytes(HX_CSTRING("class")),null(),null()));
		HX_SOURCE_POS("Source/jax/JVM.hx",326)
		::jax::JVM_obj::runClass(main);
	}
return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC0(JVM_obj,main,(void))

::jax::JValue JVM_obj::toValue( ::jax::JConstant c,Array< ::jax::JConstant > pool){
	HX_SOURCE_PUSH("JVM_obj::toValue")
	struct _Function_1_1{
		inline static ::jax::JValue Block( ::jax::JConstant &c,Array< ::jax::JConstant > &pool){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",329)
				{
::jax::JConstant _switch_9 = (c);
					switch((_switch_9)->GetIndex()){
						case 1: {
							::cpp::CppInt32__ v = _switch_9->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",330)
								return ::jax::JValue_obj::_int(v);
							}
						}
						;break;
						case 2: {
							::haxe::Int64 v = _switch_9->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",331)
								return ::jax::JValue_obj::_long(v);
							}
						}
						;break;
						case 3: {
							Float v = _switch_9->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",332)
								return ::jax::JValue_obj::_float(v);
							}
						}
						;break;
						case 4: {
							Float v = _switch_9->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",333)
								return ::jax::JValue_obj::_double(v);
							}
						}
						;break;
						case 0: {
							::String v = _switch_9->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",334)
								return ::jax::JValue_obj::_exter(::jax::lang::JString_obj::__new(v));
							}
						}
						;break;
						case 6: {
							int v = _switch_9->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",335)
								return ::jax::JVM_obj::toValue(pool->__get(v),pool);
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",336)
							return hx::Throw (((HX_CSTRING("Cannot turn ") + ::Std_obj::string(c)) + HX_CSTRING(" into value")));
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",328)
	return _Function_1_1::Block(c,pool);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC2(JVM_obj,toValue,return )

::jax::JValue JVM_obj::exec( ::jax::lang::JClass c,::haxe::io::Bytes b,Dynamic lvars){
	HX_SOURCE_PUSH("JVM_obj::exec")
	HX_SOURCE_POS("Source/jax/JVM.hx",342)
	::haxe::io::BytesInput fbi = ::haxe::io::BytesInput_obj::__new(b,null(),null());
	::String s = HX_CSTRING("");
	HX_SOURCE_POS("Source/jax/JVM.hx",343)
	try{
		HX_SOURCE_POS("Source/jax/JVM.hx",343)
		while((true)){
			HX_SOURCE_POS("Source/jax/JVM.hx",345)
			::String v = ::StringTools_obj::hex(fbi->readByte(),null());
			HX_SOURCE_POS("Source/jax/JVM.hx",346)
			if (((v.length == (int)1))){
				HX_SOURCE_POS("Source/jax/JVM.hx",347)
				v = (HX_CSTRING("0") + v);
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",348)
			hx::AddEq(s,(v + HX_CSTRING(" ")));
		}
	}
	catch(Dynamic __e){
		{
			Dynamic d = __e;{
				HX_SOURCE_POS("Source/jax/JVM.hx",350)
				::haxe::Log_obj::trace((HX_CSTRING("Bytes: ") + s),hx::SourceInfo(HX_CSTRING("JVM.hx"),351,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
			}
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",354)
	Array< ::jax::JValue > stack = Array_obj< ::jax::JValue >::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",355)
	Array< ::jax::JConstant > pool = c->const_pool;
	HX_SOURCE_POS("Source/jax/JVM.hx",356)
	if (((lvars == null()))){
		HX_SOURCE_POS("Source/jax/JVM.hx",357)
		lvars = Dynamic( Array_obj<Dynamic>::__new());
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",358)
	::haxe::io::BytesInput bi = ::haxe::io::BytesInput_obj::__new(b,null(),null());
	HX_SOURCE_POS("Source/jax/JVM.hx",359)
	int bof = (int)-1;
	HX_SOURCE_POS("Source/jax/JVM.hx",360)
	bi->setEndian(true);
	HX_SOURCE_POS("Source/jax/JVM.hx",361)
	try{
		HX_SOURCE_POS("Source/jax/JVM.hx",361)
		while((true)){
			HX_SOURCE_POS("Source/jax/JVM.hx",363)
			(bof)++;
			HX_SOURCE_POS("Source/jax/JVM.hx",364)
			int byte = bi->readByte();
			HX_SOURCE_POS("Source/jax/JVM.hx",366)
			::haxe::Log_obj::trace((HX_CSTRING("Reading byte: ") + ::StringTools_obj::hex(byte,null())),hx::SourceInfo(HX_CSTRING("JVM.hx"),366,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
			HX_SOURCE_POS("Source/jax/JVM.hx",368)
			switch( (int)(byte)){
				case (int)0: {
					HX_SOURCE_POS("Source/jax/JVM.hx",369)
					::haxe::Log_obj::trace(HX_CSTRING("No operation"),hx::SourceInfo(HX_CSTRING("JVM.hx"),371,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
				}
				;break;
				case (int)1: {
					HX_SOURCE_POS("Source/jax/JVM.hx",373)
					stack->push(::jax::JValue_obj::_object(null()));
				}
				;break;
				case (int)2: {
					HX_SOURCE_POS("Source/jax/JVM.hx",374)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)-1)));
				}
				;break;
				case (int)3: {
					HX_SOURCE_POS("Source/jax/JVM.hx",375)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)0)));
				}
				;break;
				case (int)4: {
					HX_SOURCE_POS("Source/jax/JVM.hx",376)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)1)));
				}
				;break;
				case (int)5: {
					HX_SOURCE_POS("Source/jax/JVM.hx",377)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)2)));
				}
				;break;
				case (int)6: {
					HX_SOURCE_POS("Source/jax/JVM.hx",378)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)3)));
				}
				;break;
				case (int)7: {
					HX_SOURCE_POS("Source/jax/JVM.hx",379)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)4)));
				}
				;break;
				case (int)8: {
					HX_SOURCE_POS("Source/jax/JVM.hx",380)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt((int)5)));
				}
				;break;
				case (int)9: {
					HX_SOURCE_POS("Source/jax/JVM.hx",381)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int)0),::cpp::CppInt32___obj::ofInt((int)0))));
				}
				;break;
				case (int)10: {
					HX_SOURCE_POS("Source/jax/JVM.hx",382)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int)0),::cpp::CppInt32___obj::ofInt((int)1))));
				}
				;break;
				case (int)11: {
					HX_SOURCE_POS("Source/jax/JVM.hx",383)
					stack->push(::jax::JValue_obj::_float(0.0));
				}
				;break;
				case (int)12: {
					HX_SOURCE_POS("Source/jax/JVM.hx",384)
					stack->push(::jax::JValue_obj::_float(1.0));
				}
				;break;
				case (int)13: {
					HX_SOURCE_POS("Source/jax/JVM.hx",385)
					stack->push(::jax::JValue_obj::_float(2.0));
				}
				;break;
				case (int)14: {
					HX_SOURCE_POS("Source/jax/JVM.hx",386)
					stack->push(::jax::JValue_obj::_double(0.0));
				}
				;break;
				case (int)15: {
					HX_SOURCE_POS("Source/jax/JVM.hx",387)
					stack->push(::jax::JValue_obj::_double(1.0));
				}
				;break;
				case (int)16: {
					HX_SOURCE_POS("Source/jax/JVM.hx",388)
					(bof)++;
					HX_SOURCE_POS("Source/jax/JVM.hx",388)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(bi->readByte())));
				}
				;break;
				case (int)17: {
					HX_SOURCE_POS("Source/jax/JVM.hx",389)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",389)
					stack->push(::jax::JValue_obj::_short(bi->readInt16()));
				}
				;break;
				case (int)18: {
					HX_SOURCE_POS("Source/jax/JVM.hx",391)
					::jax::JConstant v = pool->__get(bi->readByte());
					HX_SOURCE_POS("Source/jax/JVM.hx",392)
					(bof)++;
					HX_SOURCE_POS("Source/jax/JVM.hx",393)
					stack->push(::jax::JVM_obj::toValue(v,pool));
				}
				;break;
				case (int)19: {
					HX_SOURCE_POS("Source/jax/JVM.hx",395)
					::jax::JConstant v = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",396)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",397)
					stack->push(::jax::JVM_obj::toValue(v,pool));
				}
				;break;
				case (int)20: {
					HX_SOURCE_POS("Source/jax/JVM.hx",399)
					::jax::JConstant v = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",400)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",401)
					stack->push(::jax::JVM_obj::toValue(v,pool));
				}
				;break;
				case (int)21: {
					HX_SOURCE_POS("Source/jax/JVM.hx",402)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/jax/JVM.hx",402)
					(bof)++;
				}
				;break;
				case (int)22: {
					HX_SOURCE_POS("Source/jax/JVM.hx",403)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/jax/JVM.hx",403)
					(bof)++;
				}
				;break;
				case (int)23: {
					HX_SOURCE_POS("Source/jax/JVM.hx",404)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/jax/JVM.hx",404)
					(bof)++;
				}
				;break;
				case (int)24: {
					HX_SOURCE_POS("Source/jax/JVM.hx",405)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/jax/JVM.hx",405)
					(bof)++;
				}
				;break;
				case (int)25: {
					HX_SOURCE_POS("Source/jax/JVM.hx",406)
					stack->push(lvars->__GetItem(bi->readByte()));
					HX_SOURCE_POS("Source/jax/JVM.hx",406)
					(bof)++;
				}
				;break;
				case (int)26: {
					HX_SOURCE_POS("Source/jax/JVM.hx",407)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)27: {
					HX_SOURCE_POS("Source/jax/JVM.hx",408)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)28: {
					HX_SOURCE_POS("Source/jax/JVM.hx",409)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)29: {
					HX_SOURCE_POS("Source/jax/JVM.hx",410)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)30: {
					HX_SOURCE_POS("Source/jax/JVM.hx",411)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)31: {
					HX_SOURCE_POS("Source/jax/JVM.hx",412)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)32: {
					HX_SOURCE_POS("Source/jax/JVM.hx",413)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)33: {
					HX_SOURCE_POS("Source/jax/JVM.hx",414)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)34: {
					HX_SOURCE_POS("Source/jax/JVM.hx",415)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)35: {
					HX_SOURCE_POS("Source/jax/JVM.hx",416)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)36: {
					HX_SOURCE_POS("Source/jax/JVM.hx",417)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)37: {
					HX_SOURCE_POS("Source/jax/JVM.hx",418)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)38: {
					HX_SOURCE_POS("Source/jax/JVM.hx",419)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)39: {
					HX_SOURCE_POS("Source/jax/JVM.hx",420)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)40: {
					HX_SOURCE_POS("Source/jax/JVM.hx",421)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)41: {
					HX_SOURCE_POS("Source/jax/JVM.hx",422)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)42: {
					HX_SOURCE_POS("Source/jax/JVM.hx",423)
					stack->push(lvars->__GetItem((int)0));
				}
				;break;
				case (int)43: {
					HX_SOURCE_POS("Source/jax/JVM.hx",424)
					stack->push(lvars->__GetItem((int)1));
				}
				;break;
				case (int)44: {
					HX_SOURCE_POS("Source/jax/JVM.hx",425)
					stack->push(lvars->__GetItem((int)2));
				}
				;break;
				case (int)45: {
					HX_SOURCE_POS("Source/jax/JVM.hx",426)
					stack->push(lvars->__GetItem((int)3));
				}
				;break;
				case (int)46: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",428)
								{
::jax::JValue _switch_10 = (stack->pop());
									switch((_switch_10)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_10->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",429)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",430)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",428)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",432)
								{
::jax::JValue _switch_11 = (stack->pop());
									switch((_switch_11)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_11->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",433)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",434)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",432)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",437)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),437,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",439)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)48: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",441)
								{
::jax::JValue _switch_12 = (stack->pop());
									switch((_switch_12)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_12->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",442)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",443)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",441)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",445)
								{
::jax::JValue _switch_13 = (stack->pop());
									switch((_switch_13)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_13->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",446)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",447)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",445)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",450)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),450,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",452)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)49: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",454)
								{
::jax::JValue _switch_14 = (stack->pop());
									switch((_switch_14)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_14->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",455)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",456)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",454)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",458)
								{
::jax::JValue _switch_15 = (stack->pop());
									switch((_switch_15)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_15->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",459)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",460)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",458)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",463)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),463,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",465)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)50: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",467)
								{
::jax::JValue _switch_16 = (stack->pop());
									switch((_switch_16)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_16->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",468)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",469)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",467)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",471)
								{
::jax::JValue _switch_17 = (stack->pop());
									switch((_switch_17)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_17->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",472)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",473)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",471)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",476)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),476,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",478)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)51: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",480)
								{
::jax::JValue _switch_18 = (stack->pop());
									switch((_switch_18)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_18->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",481)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",482)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",480)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",484)
								{
::jax::JValue _switch_19 = (stack->pop());
									switch((_switch_19)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_19->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",485)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",486)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",484)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",489)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),489,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",491)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)52: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",493)
								{
::jax::JValue _switch_20 = (stack->pop());
									switch((_switch_20)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_20->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",494)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",495)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",493)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",497)
								{
::jax::JValue _switch_21 = (stack->pop());
									switch((_switch_21)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_21->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",498)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",499)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",497)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",502)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),502,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",504)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)53: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",506)
								{
::jax::JValue _switch_22 = (stack->pop());
									switch((_switch_22)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_22->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",507)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",508)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",506)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					struct _Function_4_2{
						inline static Array< ::jax::JValue > Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",510)
								{
::jax::JValue _switch_23 = (stack->pop());
									switch((_switch_23)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_23->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",511)
												return a->arr;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",512)
											return hx::Throw (HX_CSTRING("Not an array"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",510)
					Array< ::jax::JValue > arr = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",515)
					::haxe::Log_obj::trace((((((HX_CSTRING("Getting: ") + ind) + HX_CSTRING(" from ")) + ::Std_obj::string(arr)) + HX_CSTRING(" to get: ")) + ::Std_obj::string(arr->__get(ind))),hx::SourceInfo(HX_CSTRING("JVM.hx"),515,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",517)
					stack->push(arr->__get(ind));
				}
				;break;
				case (int)54: {
					HX_SOURCE_POS("Source/jax/JVM.hx",519)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",519)
					(bof)++;
				}
				;break;
				case (int)55: {
					HX_SOURCE_POS("Source/jax/JVM.hx",521)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",521)
					(bof)++;
				}
				;break;
				case (int)56: {
					HX_SOURCE_POS("Source/jax/JVM.hx",523)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",523)
					(bof)++;
				}
				;break;
				case (int)57: {
					HX_SOURCE_POS("Source/jax/JVM.hx",525)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",525)
					(bof)++;
				}
				;break;
				case (int)58: {
					HX_SOURCE_POS("Source/jax/JVM.hx",527)
					hx::IndexRef((lvars).mPtr,bi->readByte()) = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",527)
					(bof)++;
				}
				;break;
				case (int)59: {
					HX_SOURCE_POS("Source/jax/JVM.hx",528)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)60: {
					HX_SOURCE_POS("Source/jax/JVM.hx",530)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)61: {
					HX_SOURCE_POS("Source/jax/JVM.hx",532)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)62: {
					HX_SOURCE_POS("Source/jax/JVM.hx",534)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)63: {
					HX_SOURCE_POS("Source/jax/JVM.hx",536)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)64: {
					HX_SOURCE_POS("Source/jax/JVM.hx",538)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)65: {
					HX_SOURCE_POS("Source/jax/JVM.hx",540)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)66: {
					HX_SOURCE_POS("Source/jax/JVM.hx",542)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)67: {
					HX_SOURCE_POS("Source/jax/JVM.hx",544)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)68: {
					HX_SOURCE_POS("Source/jax/JVM.hx",546)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)69: {
					HX_SOURCE_POS("Source/jax/JVM.hx",548)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)70: {
					HX_SOURCE_POS("Source/jax/JVM.hx",550)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)71: {
					HX_SOURCE_POS("Source/jax/JVM.hx",552)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)72: {
					HX_SOURCE_POS("Source/jax/JVM.hx",554)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)73: {
					HX_SOURCE_POS("Source/jax/JVM.hx",556)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)74: {
					HX_SOURCE_POS("Source/jax/JVM.hx",558)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)75: {
					HX_SOURCE_POS("Source/jax/JVM.hx",560)
					hx::IndexRef((lvars).mPtr,(int)0) = stack->pop();
				}
				;break;
				case (int)76: {
					HX_SOURCE_POS("Source/jax/JVM.hx",561)
					hx::IndexRef((lvars).mPtr,(int)1) = stack->pop();
				}
				;break;
				case (int)77: {
					HX_SOURCE_POS("Source/jax/JVM.hx",562)
					hx::IndexRef((lvars).mPtr,(int)2) = stack->pop();
				}
				;break;
				case (int)78: {
					HX_SOURCE_POS("Source/jax/JVM.hx",563)
					hx::IndexRef((lvars).mPtr,(int)3) = stack->pop();
				}
				;break;
				case (int)79: {
					HX_SOURCE_POS("Source/jax/JVM.hx",565)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",566)
								{
::jax::JValue _switch_24 = (stack->pop());
									switch((_switch_24)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_24->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",567)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",568)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",566)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",570)
					::jax::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",572)
					::haxe::Log_obj::trace((HX_CSTRING("Value: ") + ::Std_obj::string(val)),hx::SourceInfo(HX_CSTRING("JVM.hx"),572,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",574)
					{
::jax::JValue _switch_25 = (arr);
						switch((_switch_25)->GetIndex()){
							case 0: {
								::jax::JArray a = _switch_25->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",575)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/jax/JVM.hx",576)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)80: {
					HX_SOURCE_POS("Source/jax/JVM.hx",579)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",580)
								{
::jax::JValue _switch_26 = (stack->pop());
									switch((_switch_26)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_26->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",581)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",582)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",580)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",584)
					::jax::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",586)
					::haxe::Log_obj::trace((HX_CSTRING("Value: ") + ::Std_obj::string(val)),hx::SourceInfo(HX_CSTRING("JVM.hx"),586,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",588)
					{
::jax::JValue _switch_27 = (arr);
						switch((_switch_27)->GetIndex()){
							case 0: {
								::jax::JArray a = _switch_27->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",589)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/jax/JVM.hx",590)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)81: {
					HX_SOURCE_POS("Source/jax/JVM.hx",593)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",594)
								{
::jax::JValue _switch_28 = (stack->pop());
									switch((_switch_28)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_28->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",595)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",596)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",594)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",598)
					::jax::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",600)
					::haxe::Log_obj::trace((HX_CSTRING("Value: ") + ::Std_obj::string(val)),hx::SourceInfo(HX_CSTRING("JVM.hx"),600,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",601)
					::haxe::Log_obj::trace((HX_CSTRING("Index: ") + ind),hx::SourceInfo(HX_CSTRING("JVM.hx"),601,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",603)
					{
::jax::JValue _switch_29 = (arr);
						switch((_switch_29)->GetIndex()){
							case 0: {
								::jax::JArray a = _switch_29->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",604)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/jax/JVM.hx",605)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)82: {
					HX_SOURCE_POS("Source/jax/JVM.hx",608)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",609)
								{
::jax::JValue _switch_30 = (stack->pop());
									switch((_switch_30)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_30->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",610)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",611)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",609)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",613)
					::jax::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",615)
					::haxe::Log_obj::trace((HX_CSTRING("Value: ") + ::Std_obj::string(val)),hx::SourceInfo(HX_CSTRING("JVM.hx"),615,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",617)
					{
::jax::JValue _switch_31 = (arr);
						switch((_switch_31)->GetIndex()){
							case 0: {
								::jax::JArray a = _switch_31->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",618)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/jax/JVM.hx",619)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)83: {
					HX_SOURCE_POS("Source/jax/JVM.hx",622)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",623)
								{
::jax::JValue _switch_32 = (stack->pop());
									switch((_switch_32)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_32->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",624)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",625)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",623)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",627)
					::jax::JValue arr = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",629)
					::haxe::Log_obj::trace((HX_CSTRING("Value: ") + ::Std_obj::string(val)),hx::SourceInfo(HX_CSTRING("JVM.hx"),629,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",631)
					{
::jax::JValue _switch_33 = (arr);
						switch((_switch_33)->GetIndex()){
							case 0: {
								::jax::JArray a = _switch_33->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",632)
									a->arr[ind] = val;
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/jax/JVM.hx",633)
								hx::Throw (HX_CSTRING("Not an array"));
							}
						}
					}
				}
				;break;
				case (int)84: {
					HX_SOURCE_POS("Source/jax/JVM.hx",636)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",637)
								{
::jax::JValue _switch_34 = (stack->pop());
									switch((_switch_34)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_34->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",638)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",639)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",637)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",641)
					hx::IndexRef((::jax::JVM_obj::toNativeValue(stack->pop())).mPtr,ind) = val;
				}
				;break;
				case (int)85: {
					HX_SOURCE_POS("Source/jax/JVM.hx",643)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",644)
								{
::jax::JValue _switch_35 = (stack->pop());
									switch((_switch_35)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_35->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",645)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",646)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",644)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",648)
					hx::IndexRef((::jax::JVM_obj::toNativeValue(stack->pop())).mPtr,ind) = val;
				}
				;break;
				case (int)86: {
					HX_SOURCE_POS("Source/jax/JVM.hx",650)
					::jax::JValue val = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",651)
								{
::jax::JValue _switch_36 = (stack->pop());
									switch((_switch_36)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_36->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",652)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",653)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",651)
					int ind = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",655)
					hx::IndexRef((::jax::JVM_obj::toNativeValue(stack->pop())).mPtr,ind) = val;
				}
				;break;
				case (int)87: {
					HX_SOURCE_POS("Source/jax/JVM.hx",656)
					stack->pop();
				}
				;break;
				case (int)88: {
					HX_SOURCE_POS("Source/jax/JVM.hx",658)
					::jax::JValue v = stack->pop();
					struct _Function_4_1{
						inline static ::jax::JValue Block( ::jax::JValue &v){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",659)
								{
::jax::JValue _switch_37 = (v);
									switch((_switch_37)->GetIndex()){
										case 1: {
											::jax::lang::JObject o = _switch_37->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",659)
												return ::jax::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::jax::JArray c1 = _switch_37->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",659)
												return ::jax::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_37->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",659)
												return ::jax::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/jax/JVM.hx",659)
											return ::jax::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",659)
											return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(v)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",659)
					stack->push(_Function_4_1::Block(v));
					HX_SOURCE_POS("Source/jax/JVM.hx",660)
					stack->push(v);
				}
				;break;
				case (int)89: {
					HX_SOURCE_POS("Source/jax/JVM.hx",662)
					::jax::JValue v = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",663)
					stack->push(v);
					struct _Function_4_1{
						inline static ::jax::JValue Block( ::jax::JValue &v){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",664)
								{
::jax::JValue _switch_38 = (v);
									switch((_switch_38)->GetIndex()){
										case 1: {
											::jax::lang::JObject o = _switch_38->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",664)
												return ::jax::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::jax::JArray c1 = _switch_38->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",664)
												return ::jax::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_38->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",664)
												return ::jax::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/jax/JVM.hx",664)
											return ::jax::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",664)
											return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(v)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",664)
					stack->push(_Function_4_1::Block(v));
				}
				;break;
				case (int)90: {
					HX_SOURCE_POS("Source/jax/JVM.hx",666)
					::jax::JValue top = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",667)
					::jax::JValue middle = stack->pop();
					struct _Function_4_1{
						inline static ::jax::JValue Block( ::jax::JValue &top){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",668)
								{
::jax::JValue _switch_39 = (top);
									switch((_switch_39)->GetIndex()){
										case 1: {
											::jax::lang::JObject o = _switch_39->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",668)
												return ::jax::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::jax::JArray c1 = _switch_39->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",668)
												return ::jax::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_39->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",668)
												return ::jax::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/jax/JVM.hx",668)
											return ::jax::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",668)
											return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",668)
					stack->push(_Function_4_1::Block(top));
					HX_SOURCE_POS("Source/jax/JVM.hx",669)
					stack->push(middle);
					HX_SOURCE_POS("Source/jax/JVM.hx",670)
					stack->push(top);
				}
				;break;
				case (int)91: {
					HX_SOURCE_POS("Source/jax/JVM.hx",672)
					::jax::JValue top = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",673)
					::jax::JValue middle = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",674)
					::jax::JValue btm = null();
					struct _Function_4_1{
						inline static bool Block( ::jax::JValue &top){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",675)
								{
::jax::JValue _switch_40 = (top);
									switch((_switch_40)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_40->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",675)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_40->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",675)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",675)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",675)
					if ((!(_Function_4_1::Block(top)))){
						HX_SOURCE_POS("Source/jax/JVM.hx",676)
						btm = stack->pop();
					}
					struct _Function_4_2{
						inline static ::jax::JValue Block( ::jax::JValue &top){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",677)
								{
::jax::JValue _switch_41 = (top);
									switch((_switch_41)->GetIndex()){
										case 1: {
											::jax::lang::JObject o = _switch_41->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",677)
												return ::jax::JValue_obj::_object(o);
											}
										}
										;break;
										case 0: {
											::jax::JArray c1 = _switch_41->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",677)
												return ::jax::JValue_obj::_array(c1);
											}
										}
										;break;
										case 2: {
											Dynamic o = _switch_41->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",677)
												return ::jax::JValue_obj::_exter(o);
											}
										}
										;break;
										case 11: {
											HX_SOURCE_POS("Source/jax/JVM.hx",677)
											return ::jax::JValue_obj::_void_dyn();
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",677)
											return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",677)
					stack->push(_Function_4_2::Block(top));
					HX_SOURCE_POS("Source/jax/JVM.hx",678)
					if (((btm != null()))){
						HX_SOURCE_POS("Source/jax/JVM.hx",679)
						stack->push(btm);
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",680)
					stack->push(middle);
					HX_SOURCE_POS("Source/jax/JVM.hx",681)
					stack->push(top);
				}
				;break;
				case (int)92: {
					HX_SOURCE_POS("Source/jax/JVM.hx",683)
					::jax::JValue top = stack->pop();
					struct _Function_4_1{
						inline static bool Block( ::jax::JValue &top){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",684)
								{
::jax::JValue _switch_42 = (top);
									switch((_switch_42)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",684)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_42->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",684)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",684)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",684)
					if ((_Function_4_1::Block(top))){
						struct _Function_5_1{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",685)
									{
::jax::JValue _switch_43 = (top);
										switch((_switch_43)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_43->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",685)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_43->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",685)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_43->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",685)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",685)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",685)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",685)
						stack->push(_Function_5_1::Block(top));
						HX_SOURCE_POS("Source/jax/JVM.hx",686)
						stack->push(top);
					}
					else{
						HX_SOURCE_POS("Source/jax/JVM.hx",688)
						::jax::JValue mid = stack->pop();
						struct _Function_5_1{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",689)
									{
::jax::JValue _switch_44 = (top);
										switch((_switch_44)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_44->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",689)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_44->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",689)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_44->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",689)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",689)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",689)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",689)
						stack->push(_Function_5_1::Block(top));
						struct _Function_5_2{
							inline static ::jax::JValue Block( ::jax::JValue &mid){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",690)
									{
::jax::JValue _switch_45 = (mid);
										switch((_switch_45)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_45->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",690)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_45->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",690)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_45->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",690)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",690)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",690)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(mid)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",690)
						stack->push(_Function_5_2::Block(mid));
						struct _Function_5_3{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",691)
									{
::jax::JValue _switch_46 = (top);
										switch((_switch_46)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_46->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",691)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_46->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",691)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_46->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",691)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",691)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",691)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",691)
						stack->push(_Function_5_3::Block(top));
					}
				}
				;break;
				case (int)93: {
					HX_SOURCE_POS("Source/jax/JVM.hx",694)
					::jax::JValue top = stack->pop();
					struct _Function_4_1{
						inline static bool Block( ::jax::JValue &top){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",695)
								{
::jax::JValue _switch_47 = (top);
									switch((_switch_47)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",695)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_47->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",695)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",695)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",695)
					::jax::JValue mid = (  ((_Function_4_1::Block(top))) ? ::jax::JValue(null()) : ::jax::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/jax/JVM.hx",696)
					::jax::JValue btm = stack->pop();
					struct _Function_4_2{
						inline static bool Block( ::jax::JValue &btm){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",697)
								{
::jax::JValue _switch_48 = (btm);
									switch((_switch_48)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",697)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_48->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",697)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",697)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",697)
					::jax::JValue btm2 = (  ((_Function_4_2::Block(btm))) ? ::jax::JValue(null()) : ::jax::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/jax/JVM.hx",698)
					if (((mid == null()))){
						struct _Function_5_1{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",699)
									{
::jax::JValue _switch_49 = (top);
										switch((_switch_49)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_49->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",699)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_49->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",699)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_49->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",699)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",699)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",699)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",699)
						stack->push(_Function_5_1::Block(top));
						HX_SOURCE_POS("Source/jax/JVM.hx",700)
						stack->push(btm);
						HX_SOURCE_POS("Source/jax/JVM.hx",701)
						stack->push(top);
					}
					else{
						struct _Function_5_1{
							inline static ::jax::JValue Block( ::jax::JValue &mid){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",703)
									{
::jax::JValue _switch_50 = (mid);
										switch((_switch_50)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_50->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",703)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_50->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",703)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_50->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",703)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",703)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",703)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(mid)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",703)
						stack->push(_Function_5_1::Block(mid));
						struct _Function_5_2{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",704)
									{
::jax::JValue _switch_51 = (top);
										switch((_switch_51)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_51->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",704)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_51->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",704)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_51->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",704)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",704)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",704)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",704)
						stack->push(_Function_5_2::Block(top));
						HX_SOURCE_POS("Source/jax/JVM.hx",705)
						stack->push(btm);
						HX_SOURCE_POS("Source/jax/JVM.hx",706)
						stack->push(mid);
						HX_SOURCE_POS("Source/jax/JVM.hx",707)
						stack->push(top);
					}
				}
				;break;
				case (int)94: {
					HX_SOURCE_POS("Source/jax/JVM.hx",710)
					::jax::JValue top = stack->pop();
					struct _Function_4_1{
						inline static bool Block( ::jax::JValue &top){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",711)
								{
::jax::JValue _switch_52 = (top);
									switch((_switch_52)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_52->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",711)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_52->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",711)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",711)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",711)
					::jax::JValue mid = (  ((_Function_4_1::Block(top))) ? ::jax::JValue(null()) : ::jax::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/jax/JVM.hx",712)
					::jax::JValue mid2 = stack->pop();
					struct _Function_4_2{
						inline static bool Block( ::jax::JValue &mid2){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",713)
								{
::jax::JValue _switch_53 = (mid2);
									switch((_switch_53)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_53->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",713)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_53->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",713)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",713)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",713)
					::jax::JValue mid3 = (  ((_Function_4_2::Block(mid2))) ? ::jax::JValue(null()) : ::jax::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/jax/JVM.hx",714)
					::jax::JValue btm = stack->pop();
					struct _Function_4_3{
						inline static bool Block( ::jax::JValue &btm){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",715)
								{
::jax::JValue _switch_54 = (btm);
									switch((_switch_54)->GetIndex()){
										case 6: {
											::haxe::Int64 v = _switch_54->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",715)
												return true;
											}
										}
										;break;
										case 4: {
											Float v = _switch_54->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",715)
												return true;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",715)
											return false;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",715)
					::jax::JValue btm2 = (  ((_Function_4_3::Block(btm))) ? ::jax::JValue(null()) : ::jax::JValue(stack->pop()) );
					HX_SOURCE_POS("Source/jax/JVM.hx",716)
					if (((mid == null()))){
						struct _Function_5_1{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",717)
									{
::jax::JValue _switch_55 = (top);
										switch((_switch_55)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_55->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",717)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_55->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",717)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_55->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",717)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",717)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",717)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",717)
						stack->push(_Function_5_1::Block(top));
						HX_SOURCE_POS("Source/jax/JVM.hx",718)
						if (((mid3 != null()))){
							HX_SOURCE_POS("Source/jax/JVM.hx",719)
							stack->push(mid3);
						}
						HX_SOURCE_POS("Source/jax/JVM.hx",720)
						stack->push(mid2);
						HX_SOURCE_POS("Source/jax/JVM.hx",721)
						stack->push(top);
					}
					else{
						struct _Function_5_1{
							inline static ::jax::JValue Block( ::jax::JValue &mid){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",723)
									{
::jax::JValue _switch_56 = (mid);
										switch((_switch_56)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_56->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",723)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_56->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",723)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_56->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",723)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",723)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",723)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(mid)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",723)
						stack->push(_Function_5_1::Block(mid));
						struct _Function_5_2{
							inline static ::jax::JValue Block( ::jax::JValue &top){
								{
									HX_SOURCE_POS("Source/jax/JVM.hx",724)
									{
::jax::JValue _switch_57 = (top);
										switch((_switch_57)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_57->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",724)
													return ::jax::JValue_obj::_object(o);
												}
											}
											;break;
											case 0: {
												::jax::JArray c1 = _switch_57->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",724)
													return ::jax::JValue_obj::_array(c1);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_57->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",724)
													return ::jax::JValue_obj::_exter(o);
												}
											}
											;break;
											case 11: {
												HX_SOURCE_POS("Source/jax/JVM.hx",724)
												return ::jax::JValue_obj::_void_dyn();
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",724)
												return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(top)->__GetItem((int)0));
											}
										}
									}
								}
								return null();
							}
						};
						HX_SOURCE_POS("Source/jax/JVM.hx",724)
						stack->push(_Function_5_2::Block(top));
						HX_SOURCE_POS("Source/jax/JVM.hx",725)
						stack->push(btm);
						HX_SOURCE_POS("Source/jax/JVM.hx",726)
						if (((mid3 != null()))){
							HX_SOURCE_POS("Source/jax/JVM.hx",727)
							stack->push(mid3);
						}
						HX_SOURCE_POS("Source/jax/JVM.hx",728)
						stack->push(mid2);
						HX_SOURCE_POS("Source/jax/JVM.hx",729)
						stack->push(mid);
						HX_SOURCE_POS("Source/jax/JVM.hx",730)
						stack->push(top);
					}
				}
				;break;
				case (int)95: {
					HX_SOURCE_POS("Source/jax/JVM.hx",733)
					::jax::JValue top = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",734)
					::jax::JValue btm = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",735)
					stack->push(top);
					HX_SOURCE_POS("Source/jax/JVM.hx",736)
					stack->push(btm);
				}
				;break;
				case (int)96: {
					HX_SOURCE_POS("Source/jax/JVM.hx",738)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",739)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::add(a,b1)));
				}
				;break;
				case (int)97: {
					HX_SOURCE_POS("Source/jax/JVM.hx",741)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",742)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",743)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",744)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::add(a,b1)));
				}
				;break;
				case (int)98: {
					HX_SOURCE_POS("Source/jax/JVM.hx",746)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",747)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",748)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",749)
					stack->push(::jax::JValue_obj::_float((a + b1)));
				}
				;break;
				case (int)99: {
					HX_SOURCE_POS("Source/jax/JVM.hx",751)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",752)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",753)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",754)
					stack->push(::jax::JValue_obj::_double((a + b1)));
				}
				;break;
				case (int)100: {
					HX_SOURCE_POS("Source/jax/JVM.hx",756)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",757)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::sub(a,b1)));
				}
				;break;
				case (int)101: {
					HX_SOURCE_POS("Source/jax/JVM.hx",759)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",760)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",761)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",762)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::sub(a,b1)));
				}
				;break;
				case (int)102: {
					HX_SOURCE_POS("Source/jax/JVM.hx",764)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",765)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",766)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",767)
					stack->push(::jax::JValue_obj::_float((a - b1)));
				}
				;break;
				case (int)103: {
					HX_SOURCE_POS("Source/jax/JVM.hx",769)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",770)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",771)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",772)
					stack->push(::jax::JValue_obj::_double((a - b1)));
				}
				;break;
				case (int)104: {
					HX_SOURCE_POS("Source/jax/JVM.hx",774)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",775)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::mul(a,b1)));
				}
				;break;
				case (int)105: {
					HX_SOURCE_POS("Source/jax/JVM.hx",777)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",778)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",779)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",780)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::mul(a,b1)));
				}
				;break;
				case (int)106: {
					HX_SOURCE_POS("Source/jax/JVM.hx",782)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",783)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",784)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",785)
					stack->push(::jax::JValue_obj::_float((a * b1)));
				}
				;break;
				case (int)107: {
					HX_SOURCE_POS("Source/jax/JVM.hx",787)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",788)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",789)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",790)
					stack->push(::jax::JValue_obj::_double((a * b1)));
				}
				;break;
				case (int)108: {
					HX_SOURCE_POS("Source/jax/JVM.hx",792)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",793)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::div(a,b1)));
				}
				;break;
				case (int)109: {
					HX_SOURCE_POS("Source/jax/JVM.hx",795)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",796)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",797)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &a,::haxe::Int64 &b1){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",798)
								::haxe::Int64 a1 = a;
								::haxe::Int64 b2 = b1;
								HX_SOURCE_POS("Source/jax/JVM.hx",798)
								bool sign = ::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::_or(a1->high,b2->high));
								HX_SOURCE_POS("Source/jax/JVM.hx",798)
								if ((::cpp::CppInt32___obj::isNeg(a1->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &a1){
											{
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(a1->high);
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(a1->low);
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/jax/JVM.hx",798)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",798)
									a1 = _Function_6_1::Block(a1);
								}
								HX_SOURCE_POS("Source/jax/JVM.hx",798)
								if ((::cpp::CppInt32___obj::isNeg(b2->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &b2){
											{
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(b2->high);
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(b2->low);
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/jax/JVM.hx",798)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",798)
									b2 = _Function_6_1::Block(b2);
								}
								HX_SOURCE_POS("Source/jax/JVM.hx",798)
								::haxe::Int64 q = ::haxe::Int64_obj::divMod(a1,b2)->__Field(HX_CSTRING("quotient"),true);
								struct _Function_5_1{
									inline static ::haxe::Int64 Block( ::haxe::Int64 &q){
										{
											HX_SOURCE_POS("Source/jax/JVM.hx",798)
											::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(q->high);
											HX_SOURCE_POS("Source/jax/JVM.hx",798)
											::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(q->low);
											HX_SOURCE_POS("Source/jax/JVM.hx",798)
											if ((::cpp::CppInt32___obj::isZero(low))){
												HX_SOURCE_POS("Source/jax/JVM.hx",798)
												high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
											}
											HX_SOURCE_POS("Source/jax/JVM.hx",798)
											return ::haxe::Int64_obj::__new(high,low);
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/jax/JVM.hx",798)
								return (  ((sign)) ? ::haxe::Int64(_Function_5_1::Block(q)) : ::haxe::Int64(q) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",798)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(a,b1)));
				}
				;break;
				case (int)110: {
					HX_SOURCE_POS("Source/jax/JVM.hx",800)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",801)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",802)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",803)
					stack->push(::jax::JValue_obj::_float((Float(a) / Float(b1))));
				}
				;break;
				case (int)111: {
					HX_SOURCE_POS("Source/jax/JVM.hx",805)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",806)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",807)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",808)
					stack->push(::jax::JValue_obj::_double((Float(a) / Float(b1))));
				}
				;break;
				case (int)112: {
					HX_SOURCE_POS("Source/jax/JVM.hx",810)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",811)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::mod(a,b1)));
				}
				;break;
				case (int)113: {
					HX_SOURCE_POS("Source/jax/JVM.hx",813)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",814)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",815)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &a,::haxe::Int64 &b1){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",816)
								::haxe::Int64 a1 = a;
								::haxe::Int64 b2 = b1;
								HX_SOURCE_POS("Source/jax/JVM.hx",816)
								bool sign = ::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::_or(a1->high,b2->high));
								HX_SOURCE_POS("Source/jax/JVM.hx",816)
								if ((::cpp::CppInt32___obj::isNeg(a1->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &a1){
											{
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(a1->high);
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(a1->low);
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/jax/JVM.hx",816)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",816)
									a1 = _Function_6_1::Block(a1);
								}
								HX_SOURCE_POS("Source/jax/JVM.hx",816)
								if ((::cpp::CppInt32___obj::isNeg(b2->high))){
									struct _Function_6_1{
										inline static ::haxe::Int64 Block( ::haxe::Int64 &b2){
											{
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(b2->high);
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(b2->low);
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												if ((::cpp::CppInt32___obj::isZero(low))){
													HX_SOURCE_POS("Source/jax/JVM.hx",816)
													high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
												}
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												return ::haxe::Int64_obj::__new(high,low);
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",816)
									b2 = _Function_6_1::Block(b2);
								}
								HX_SOURCE_POS("Source/jax/JVM.hx",816)
								::haxe::Int64 m = ::haxe::Int64_obj::divMod(a1,b2)->__Field(HX_CSTRING("modulus"),true);
								struct _Function_5_1{
									inline static ::haxe::Int64 Block( ::haxe::Int64 &m){
										{
											HX_SOURCE_POS("Source/jax/JVM.hx",816)
											::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(m->high);
											HX_SOURCE_POS("Source/jax/JVM.hx",816)
											::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(m->low);
											HX_SOURCE_POS("Source/jax/JVM.hx",816)
											if ((::cpp::CppInt32___obj::isZero(low))){
												HX_SOURCE_POS("Source/jax/JVM.hx",816)
												high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
											}
											HX_SOURCE_POS("Source/jax/JVM.hx",816)
											return ::haxe::Int64_obj::__new(high,low);
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/jax/JVM.hx",816)
								return (  ((sign)) ? ::haxe::Int64(_Function_5_1::Block(m)) : ::haxe::Int64(m) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",816)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(a,b1)));
				}
				;break;
				case (int)114: {
					HX_SOURCE_POS("Source/jax/JVM.hx",818)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",819)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",820)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",821)
					stack->push(::jax::JValue_obj::_float(hx::Mod(a,b1)));
				}
				;break;
				case (int)115: {
					HX_SOURCE_POS("Source/jax/JVM.hx",823)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",824)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::Float >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::Float >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",825)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",826)
					stack->push(::jax::JValue_obj::_double(hx::Mod(a,b1)));
				}
				;break;
				case (int)116: {
					HX_SOURCE_POS("Source/jax/JVM.hx",827)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::neg(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)117: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",830)
								::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
								HX_SOURCE_POS("Source/jax/JVM.hx",830)
								::cpp::CppInt32__ high = ::cpp::CppInt32___obj::complement(a->high);
								HX_SOURCE_POS("Source/jax/JVM.hx",830)
								::cpp::CppInt32__ low = ::cpp::CppInt32___obj::neg(a->low);
								HX_SOURCE_POS("Source/jax/JVM.hx",830)
								if ((::cpp::CppInt32___obj::isZero(low))){
									HX_SOURCE_POS("Source/jax/JVM.hx",830)
									high = ::cpp::CppInt32___obj::add(high,::cpp::CppInt32___obj::ofInt((int)1));
								}
								HX_SOURCE_POS("Source/jax/JVM.hx",830)
								return ::haxe::Int64_obj::__new(high,low);
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",829)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)118: {
					HX_SOURCE_POS("Source/jax/JVM.hx",831)
					stack->push(::jax::JValue_obj::_float(-(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)119: {
					HX_SOURCE_POS("Source/jax/JVM.hx",833)
					stack->push(::jax::JValue_obj::_double(-(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)120: {
					HX_SOURCE_POS("Source/jax/JVM.hx",836)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",838)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::shl(a,::cpp::CppInt32___obj::toInt(b1))));
				}
				;break;
				case (int)121: {
					HX_SOURCE_POS("Source/jax/JVM.hx",840)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",841)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",842)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &b1,::haxe::Int64 &a){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",843)
								int b2 = ::haxe::Int64_obj::toInt(b1);
								HX_SOURCE_POS("Source/jax/JVM.hx",843)
								return (  (((((int(b2) & int((int)63))) == (int)0))) ? ::haxe::Int64(a) : ::haxe::Int64((  (((((int(b2) & int((int)63))) < (int)32))) ? ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_or(::cpp::CppInt32___obj::shl(a->high,b2),::cpp::CppInt32___obj::ushr(a->low,((int)32 - ((int(b2) & int((int)63)))))),::cpp::CppInt32___obj::shl(a->low,b2))) : ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shl(a->low,(b2 - (int)32)),::cpp::CppInt32___obj::ofInt((int)0))) )) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",843)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(b1,a)));
				}
				;break;
				case (int)122: {
					HX_SOURCE_POS("Source/jax/JVM.hx",845)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",847)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ushr(a,::cpp::CppInt32___obj::toInt(b1))));
				}
				;break;
				case (int)123: {
					HX_SOURCE_POS("Source/jax/JVM.hx",849)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",850)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",851)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &b1,::haxe::Int64 &a){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",852)
								int b2 = ::haxe::Int64_obj::toInt(b1);
								HX_SOURCE_POS("Source/jax/JVM.hx",852)
								return (  (((((int(b2) & int((int)63))) == (int)0))) ? ::haxe::Int64(a) : ::haxe::Int64((  (((((int(b2) & int((int)63))) < (int)32))) ? ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ushr(a->high,b2),::cpp::CppInt32___obj::_or(::cpp::CppInt32___obj::ushr(a->low,b2),::cpp::CppInt32___obj::shl(a->high,((int)32 - ((int(b2) & int((int)63)))))))) : ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int)0),::cpp::CppInt32___obj::ushr(a->high,(b2 - (int)32)))) )) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",852)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(b1,a)));
				}
				;break;
				case (int)124: {
					HX_SOURCE_POS("Source/jax/JVM.hx",854)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",856)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::shr(a,::cpp::CppInt32___obj::toInt(b1))));
				}
				;break;
				case (int)125: {
					HX_SOURCE_POS("Source/jax/JVM.hx",858)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",859)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",860)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( ::haxe::Int64 &b1,::haxe::Int64 &a){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",861)
								int b2 = ::haxe::Int64_obj::toInt(b1);
								HX_SOURCE_POS("Source/jax/JVM.hx",861)
								return (  (((((int(b2) & int((int)63))) == (int)0))) ? ::haxe::Int64(a) : ::haxe::Int64((  (((((int(b2) & int((int)63))) < (int)32))) ? ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shr(a->high,b2),::cpp::CppInt32___obj::_or(::cpp::CppInt32___obj::ushr(a->low,b2),::cpp::CppInt32___obj::shl(a->high,((int)32 - ((int(b2) & int((int)63)))))))) : ::haxe::Int64(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shr(a->high,(int)31),::cpp::CppInt32___obj::shr(a->high,(b2 - (int)32)))) )) );
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",861)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(b1,a)));
				}
				;break;
				case (int)126: {
					HX_SOURCE_POS("Source/jax/JVM.hx",863)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",865)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::_and(a,b1)));
				}
				;break;
				case (int)127: {
					HX_SOURCE_POS("Source/jax/JVM.hx",867)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",868)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",869)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",870)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_and(a->high,b1->high),::cpp::CppInt32___obj::_and(a->low,b1->low))));
				}
				;break;
				case (int)128: {
					HX_SOURCE_POS("Source/jax/JVM.hx",872)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",874)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::_or(a,b1)));
				}
				;break;
				case (int)129: {
					HX_SOURCE_POS("Source/jax/JVM.hx",876)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",877)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",878)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",879)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_or(a->high,b1->high),::cpp::CppInt32___obj::_or(a->low,b1->low))));
				}
				;break;
				case (int)130: {
					HX_SOURCE_POS("Source/jax/JVM.hx",881)
					::cpp::CppInt32__ a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::cpp::CppInt32__ b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",883)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::_xor(a,b1)));
				}
				;break;
				case (int)131: {
					HX_SOURCE_POS("Source/jax/JVM.hx",885)
					::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
					::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",886)
					if (((bool(!(::Std_obj::is(a,hx::ClassOf< ::haxe::Int64 >()))) || bool(!(::Std_obj::is(b1,hx::ClassOf< ::haxe::Int64 >())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",887)
						hx::Throw (HX_CSTRING("Type Error"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",888)
					stack->push(::jax::JValue_obj::_long(::haxe::Int64_obj::__new(::cpp::CppInt32___obj::_xor(a->high,b1->high),::cpp::CppInt32___obj::_xor(a->low,b1->low))));
				}
				;break;
				case (int)132: {
					HX_SOURCE_POS("Source/jax/JVM.hx",890)
					int ind = bi->readByte();
					HX_SOURCE_POS("Source/jax/JVM.hx",891)
					int inc = bi->readByte();
					HX_SOURCE_POS("Source/jax/JVM.hx",893)
					::haxe::Log_obj::trace((((HX_CSTRING("Incrementing ") + lvars->__GetItem(ind)) + HX_CSTRING(" by ")) + inc),hx::SourceInfo(HX_CSTRING("JVM.hx"),893,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",895)
					::jax::JValue old = lvars->__GetItem(ind);
					struct _Function_4_1{
						inline static ::jax::JValue Block( ::jax::JValue &old,int &inc){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",896)
								{
::jax::JValue _switch_58 = (old);
									switch((_switch_58)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",897)
												return ::jax::JValue_obj::_int(::cpp::CppInt32___obj::add(v,::cpp::CppInt32___obj::ofInt(inc)));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",898)
												return ::jax::JValue_obj::_long(::haxe::Int64_obj::add(v,::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(inc) >> int((int)31))),::cpp::CppInt32___obj::ofInt(inc))));
											}
										}
										;break;
										case 3: {
											Float v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",899)
												return ::jax::JValue_obj::_float((v + inc));
											}
										}
										;break;
										case 4: {
											Float v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",900)
												return ::jax::JValue_obj::_double((v + inc));
											}
										}
										;break;
										case 10: {
											int v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",901)
												return ::jax::JValue_obj::_short((v + inc));
											}
										}
										;break;
										case 8: {
											int v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",902)
												return ::jax::JValue_obj::_char((v + inc));
											}
										}
										;break;
										case 7: {
											int v = _switch_58->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",903)
												return ::jax::JValue_obj::_byte((v + inc));
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",904)
											return hx::Throw (HX_CSTRING("Unable to increment this value"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",896)
					hx::IndexRef((lvars).mPtr,ind) = _Function_4_1::Block(old,inc);
					HX_SOURCE_POS("Source/jax/JVM.hx",907)
					::haxe::Log_obj::trace((HX_CSTRING("\t\tto get ") + lvars->__GetItem(ind)),hx::SourceInfo(HX_CSTRING("JVM.hx"),907,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
				}
				;break;
				case (int)133: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",910)
								::cpp::CppInt32__ x = ::jax::JVM_obj::toNativeValue(stack->pop());
								HX_SOURCE_POS("Source/jax/JVM.hx",910)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::shr(x,(int)31),x);
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",909)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)134: {
					HX_SOURCE_POS("Source/jax/JVM.hx",911)
					stack->push(::jax::JValue_obj::_float(::cpp::CppInt32___obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)135: {
					HX_SOURCE_POS("Source/jax/JVM.hx",913)
					stack->push(::jax::JValue_obj::_double(::cpp::CppInt32___obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)136: {
					HX_SOURCE_POS("Source/jax/JVM.hx",915)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(::haxe::Int64_obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop())))));
				}
				;break;
				case (int)137: {
					HX_SOURCE_POS("Source/jax/JVM.hx",917)
					stack->push(::jax::JValue_obj::_float(::haxe::Int64_obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)138: {
					HX_SOURCE_POS("Source/jax/JVM.hx",919)
					stack->push(::jax::JValue_obj::_double(::haxe::Int64_obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)139: {
					HX_SOURCE_POS("Source/jax/JVM.hx",921)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(::Std_obj::_int(::jax::JVM_obj::toNativeValue(stack->pop())))));
				}
				;break;
				case (int)140: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",924)
								int x = ::Std_obj::_int(::jax::JVM_obj::toNativeValue(stack->pop()));
								HX_SOURCE_POS("Source/jax/JVM.hx",924)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(x) >> int((int)31))),::cpp::CppInt32___obj::ofInt(x));
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",923)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)141: {
					HX_SOURCE_POS("Source/jax/JVM.hx",925)
					stack->push(::jax::JValue_obj::_double(::jax::JVM_obj::toNativeValue(stack->pop())));
				}
				;break;
				case (int)142: {
					HX_SOURCE_POS("Source/jax/JVM.hx",927)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(::Std_obj::_int(::jax::JVM_obj::toNativeValue(stack->pop())))));
				}
				;break;
				case (int)143: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",930)
								int x = ::Std_obj::_int(::jax::JVM_obj::toNativeValue(stack->pop()));
								HX_SOURCE_POS("Source/jax/JVM.hx",930)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(x) >> int((int)31))),::cpp::CppInt32___obj::ofInt(x));
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",929)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)144: {
					HX_SOURCE_POS("Source/jax/JVM.hx",931)
					stack->push(::jax::JValue_obj::_float(::jax::JVM_obj::toNativeValue(stack->pop())));
				}
				;break;
				case (int)145: {
					HX_SOURCE_POS("Source/jax/JVM.hx",933)
					stack->push(::jax::JValue_obj::_byte(::cpp::CppInt32___obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)146: {
					HX_SOURCE_POS("Source/jax/JVM.hx",935)
					stack->push(::jax::JValue_obj::_char(::cpp::CppInt32___obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)147: {
					HX_SOURCE_POS("Source/jax/JVM.hx",937)
					stack->push(::jax::JValue_obj::_short(::cpp::CppInt32___obj::toInt(::jax::JVM_obj::toNativeValue(stack->pop()))));
				}
				;break;
				case (int)148: {
					struct _Function_4_1{
						inline static ::haxe::Int64 Block( Array< ::jax::JValue > &stack){
							{
								struct _Function_5_1{
									inline static int Block( Array< ::jax::JValue > &stack){
										{
											HX_SOURCE_POS("Source/jax/JVM.hx",940)
											::haxe::Int64 a = ::jax::JVM_obj::toNativeValue(stack->pop());
											::haxe::Int64 b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
											HX_SOURCE_POS("Source/jax/JVM.hx",940)
											int v = ::cpp::CppInt32___obj::compare(a->high,b1->high);
											HX_SOURCE_POS("Source/jax/JVM.hx",940)
											return (  (((v != (int)0))) ? int(v) : int(::cpp::CppInt32___obj::ucompare(a->low,b1->low)) );
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/jax/JVM.hx",940)
								int x = _Function_5_1::Block(stack);
								HX_SOURCE_POS("Source/jax/JVM.hx",940)
								return ::haxe::Int64_obj::__new(::cpp::CppInt32___obj::ofInt((int(x) >> int((int)31))),::cpp::CppInt32___obj::ofInt(x));
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",939)
					stack->push(::jax::JValue_obj::_long(_Function_4_1::Block(stack)));
				}
				;break;
				case (int)149: {
					HX_SOURCE_POS("Source/jax/JVM.hx",942)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",943)
					stack->push(::jax::JValue_obj::_float(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)150: {
					HX_SOURCE_POS("Source/jax/JVM.hx",945)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",946)
					stack->push(::jax::JValue_obj::_float(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)151: {
					HX_SOURCE_POS("Source/jax/JVM.hx",948)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",949)
					stack->push(::jax::JValue_obj::_double(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)152: {
					HX_SOURCE_POS("Source/jax/JVM.hx",951)
					int a = ::jax::JVM_obj::toNativeValue(stack->pop());
					int b1 = ::jax::JVM_obj::toNativeValue(stack->pop());
					HX_SOURCE_POS("Source/jax/JVM.hx",952)
					stack->push(::jax::JValue_obj::_double(::Math_obj::abs((a - b1))));
				}
				;break;
				case (int)153: {
					HX_SOURCE_POS("Source/jax/JVM.hx",954)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",955)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",956)
								{
::jax::JValue _switch_59 = (stack->pop());
									switch((_switch_59)->GetIndex()){
										case 3: {
											Float v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",957)
												return (v == (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",958)
												return (v == (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",959)
												return ::cpp::CppInt32___obj::isZero(v);
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",960)
												return ::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low));
											}
										}
										;break;
										case 10: {
											int v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",961)
												return (v == (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",962)
												return (v == (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_59->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",963)
												return (v == (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",964)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",956)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/jax/JVM.hx",966)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",967)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",968)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),968,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",968)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)154: {
					HX_SOURCE_POS("Source/jax/JVM.hx",971)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",972)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",973)
								{
::jax::JValue _switch_60 = (stack->pop());
									switch((_switch_60)->GetIndex()){
										case 3: {
											Float v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",974)
												return (v != (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",975)
												return (v != (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",976)
												return !(::cpp::CppInt32___obj::isZero(v));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",977)
												return !(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low)));
											}
										}
										;break;
										case 10: {
											int v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",978)
												return (v != (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",979)
												return (v != (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_60->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",980)
												return (v != (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",981)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",973)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/jax/JVM.hx",983)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",984)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",985)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),985,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",985)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)155: {
					HX_SOURCE_POS("Source/jax/JVM.hx",988)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",989)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",990)
								{
::jax::JValue _switch_61 = (stack->pop());
									switch((_switch_61)->GetIndex()){
										case 3: {
											Float v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",991)
												return (v < (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",992)
												return (v < (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",993)
												return ::cpp::CppInt32___obj::isNeg(v);
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",994)
												return ::cpp::CppInt32___obj::isNeg(v->high);
											}
										}
										;break;
										case 10: {
											int v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",995)
												return (v < (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",996)
												return (v < (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_61->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",997)
												return (v < (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",998)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",990)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1000)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1001)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1002)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1002,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1002)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)156: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1005)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1006)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1007)
								{
::jax::JValue _switch_62 = (stack->pop());
									switch((_switch_62)->GetIndex()){
										case 3: {
											Float v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1008)
												return (v >= (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1009)
												return (v >= (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1010)
												return (bool(!(::cpp::CppInt32___obj::isNeg(v))) || bool(::cpp::CppInt32___obj::isZero(v)));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1011)
												return (bool(!(::cpp::CppInt32___obj::isNeg(v->high))) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low))));
											}
										}
										;break;
										case 10: {
											int v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1012)
												return (v >= (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1013)
												return (v >= (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_62->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1014)
												return (v >= (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1015)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1007)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1017)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1018)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1019)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1019,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1019)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)157: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1022)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1023)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1024)
								{
::jax::JValue _switch_63 = (stack->pop());
									switch((_switch_63)->GetIndex()){
										case 3: {
											Float v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1025)
												return (v > (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1026)
												return (v > (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1027)
												return !(::cpp::CppInt32___obj::isNeg(v));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1028)
												return !(::cpp::CppInt32___obj::isNeg(v->high));
											}
										}
										;break;
										case 10: {
											int v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1029)
												return (v > (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1030)
												return (v > (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_63->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1031)
												return (v > (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1032)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1024)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1034)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1035)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1036)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1036,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1036)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)158: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1039)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1040)
					hx::AddEq(bof,(int)2);
					struct _Function_4_1{
						inline static bool Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1041)
								{
::jax::JValue _switch_64 = (stack->pop());
									switch((_switch_64)->GetIndex()){
										case 3: {
											Float v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1042)
												return (v <= (int)0);
											}
										}
										;break;
										case 4: {
											Float v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1043)
												return (v <= (int)0);
											}
										}
										;break;
										case 5: {
											::cpp::CppInt32__ v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1044)
												return (bool(::cpp::CppInt32___obj::isNeg(v)) || bool(::cpp::CppInt32___obj::isZero(v)));
											}
										}
										;break;
										case 6: {
											::haxe::Int64 v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1045)
												return (bool(::cpp::CppInt32___obj::isNeg(v->high)) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::_or(v->high,v->low))));
											}
										}
										;break;
										case 10: {
											int v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1046)
												return (v <= (int)0);
											}
										}
										;break;
										case 7: {
											int v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1047)
												return (v <= (int)0);
											}
										}
										;break;
										case 8: {
											int v = _switch_64->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1048)
												return (v <= (int)0);
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1049)
											return hx::Throw (HX_CSTRING("Not a number!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1041)
					if ((_Function_4_1::Block(stack))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1051)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1052)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1053)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1053,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1053)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)159: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1056)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1057)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1058)
					if ((::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(::jax::JVM_obj::toNativeValue(stack->pop()),::jax::JVM_obj::toNativeValue(stack->pop()))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1059)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1060)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1061)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1061,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1061)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)160: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1064)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1065)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1066)
					if ((!(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(::jax::JVM_obj::toNativeValue(stack->pop()),::jax::JVM_obj::toNativeValue(stack->pop())))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1067)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1068)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1069)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1069,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1069)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)161: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1072)
								{
::jax::JValue _switch_65 = (stack->pop());
									switch((_switch_65)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_65->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1073)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1074)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1072)
					::cpp::CppInt32__ top = _Function_4_1::Block(stack);
					struct _Function_4_2{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1076)
								{
::jax::JValue _switch_66 = (stack->pop());
									switch((_switch_66)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_66->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1077)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1078)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1076)
					::cpp::CppInt32__ btm = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1080)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1081)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1082)
					if ((::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top)))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1083)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1084)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1085)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1085,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1085)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)162: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1088)
								{
::jax::JValue _switch_67 = (stack->pop());
									switch((_switch_67)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_67->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1089)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1090)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1088)
					::cpp::CppInt32__ top = _Function_4_1::Block(stack);
					struct _Function_4_2{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1092)
								{
::jax::JValue _switch_68 = (stack->pop());
									switch((_switch_68)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_68->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1093)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1094)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1092)
					::cpp::CppInt32__ btm = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1096)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1097)
					if (((bool(!(::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top)))) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(top,btm)))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1098)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1099)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1100)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1100,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1100)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
					else{
						HX_SOURCE_POS("Source/jax/JVM.hx",1101)
						::haxe::Log_obj::trace(((((::Std_obj::string(btm) + HX_CSTRING(" is not greater than or equal to ")) + ::Std_obj::string(top)) + HX_CSTRING(" so not jumping to ")) + off),hx::SourceInfo(HX_CSTRING("JVM.hx"),1103,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",1106)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)163: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1108)
								{
::jax::JValue _switch_69 = (stack->pop());
									switch((_switch_69)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_69->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1109)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1110)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1108)
					::cpp::CppInt32__ top = _Function_4_1::Block(stack);
					struct _Function_4_2{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1112)
								{
::jax::JValue _switch_70 = (stack->pop());
									switch((_switch_70)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_70->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1113)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1114)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1112)
					::cpp::CppInt32__ btm = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1116)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1117)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1118)
					if ((!(::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1119)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1120)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1121)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1121,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1121)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)164: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1124)
								{
::jax::JValue _switch_71 = (stack->pop());
									switch((_switch_71)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_71->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1125)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1126)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1124)
					::cpp::CppInt32__ top = _Function_4_1::Block(stack);
					struct _Function_4_2{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1128)
								{
::jax::JValue _switch_72 = (stack->pop());
									switch((_switch_72)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_72->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1129)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1130)
											return hx::Throw (HX_CSTRING("Can only compare int values"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1128)
					::cpp::CppInt32__ btm = _Function_4_2::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1132)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1133)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1134)
					if (((bool(::cpp::CppInt32___obj::isNeg(::cpp::CppInt32___obj::sub(btm,top))) || bool(::cpp::CppInt32___obj::isZero(::cpp::CppInt32___obj::sub(top,btm)))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1135)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1135)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1135)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1135,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1135)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)165: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1138)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1139)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1140)
					if (((::jax::JVM_obj::toNativeValue(stack->pop()) == ::jax::JVM_obj::toNativeValue(stack->pop())))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1141)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1141)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1141)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1141,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1141)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)166: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1144)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1145)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1146)
					if (((::jax::JVM_obj::toNativeValue(stack->pop()) != ::jax::JVM_obj::toNativeValue(stack->pop())))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1147)
						bi->close();
						HX_SOURCE_POS("Source/jax/JVM.hx",1147)
						bof = off;
						HX_SOURCE_POS("Source/jax/JVM.hx",1147)
						::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1147,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1147)
						bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					}
				}
				;break;
				case (int)167: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1150)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1151)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1153)
					::haxe::Log_obj::trace((((HX_CSTRING("Attempting to jump from ") + bof) + HX_CSTRING(" to ")) + off),hx::SourceInfo(HX_CSTRING("JVM.hx"),1153,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1155)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1156)
					bof = off;
					HX_SOURCE_POS("Source/jax/JVM.hx",1157)
					::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1157,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1157)
					bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
					HX_SOURCE_POS("Source/jax/JVM.hx",1158)
					bi->setEndian(true);
					HX_SOURCE_POS("Source/jax/JVM.hx",1159)
					continue;
				}
				;break;
				case (int)168: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1161)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(bof)));
					HX_SOURCE_POS("Source/jax/JVM.hx",1162)
					int off = (bof + bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1163)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1164)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1165)
					::haxe::Log_obj::trace((HX_CSTRING("Jumping to: ") + bof),hx::SourceInfo(HX_CSTRING("JVM.hx"),1165,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1165)
					bi = ::haxe::io::BytesInput_obj::__new(b,off,null());
				}
				;break;
				case (int)169: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1167)
					Dynamic id = lvars->__GetItem(bi->readByte());
					HX_SOURCE_POS("Source/jax/JVM.hx",1168)
					(bof)++;
					HX_SOURCE_POS("Source/jax/JVM.hx",1169)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1170)
					bi = ::haxe::io::BytesInput_obj::__new(b,id,null());
				}
				;break;
				case (int)170: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1171)
					hx::Throw (HX_CSTRING("Unimplemented"));
				}
				;break;
				case (int)171: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1172)
					hx::Throw (HX_CSTRING("Unimplemented"));
				}
				;break;
				case (int)172: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1174)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1175)
					return stack->pop();
				}
				;break;
				case (int)173: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1177)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1178)
					return stack->pop();
				}
				;break;
				case (int)174: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1180)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1181)
					return stack->pop();
				}
				;break;
				case (int)175: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1183)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1184)
					return stack->pop();
				}
				;break;
				case (int)176: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1186)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1187)
					return stack->pop();
				}
				;break;
				case (int)177: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1189)
					bi->close();
					HX_SOURCE_POS("Source/jax/JVM.hx",1191)
					::haxe::Log_obj::trace(HX_CSTRING("Returning void"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1191,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1193)
					return ::jax::JValue_obj::_void_dyn();
				}
				;break;
				case (int)178: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1195)
					{
::jax::JConstant _switch_73 = (pool->__get(bi->readInt16()));
						switch((_switch_73)->GetIndex()){
							case 10: {
								int nt = _switch_73->__Param(1);
								int c1 = _switch_73->__Param(0);
{
									struct _Function_5_1{
										inline static ::String Block( Array< ::jax::JConstant > &pool,int &c1){
											{
												struct _Function_6_1{
													inline static int Block( Array< ::jax::JConstant > &pool,int &c1){
														{
															HX_SOURCE_POS("Source/jax/JVM.hx",1197)
															{
::jax::JConstant _switch_74 = (pool->__get(c1));
																switch((_switch_74)->GetIndex()){
																	case 5: {
																		int i = _switch_74->__Param(0);
{
																			HX_SOURCE_POS("Source/jax/JVM.hx",1197)
																			return i;
																		}
																	}
																	;break;
																	case 6: {
																		int i = _switch_74->__Param(0);
{
																			HX_SOURCE_POS("Source/jax/JVM.hx",1197)
																			return i;
																		}
																	}
																	;break;
																	default: {
																		HX_SOURCE_POS("Source/jax/JVM.hx",1197)
																		return (int)0;
																	}
																}
															}
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/jax/JVM.hx",1197)
												{
::jax::JConstant _switch_75 = (pool->__get(_Function_6_1::Block(pool,c1)));
													switch((_switch_75)->GetIndex()){
														case 0: {
															::String s1 = _switch_75->__Param(0);
{
																HX_SOURCE_POS("Source/jax/JVM.hx",1197)
																return s1;
															}
														}
														;break;
														default: {
															HX_SOURCE_POS("Source/jax/JVM.hx",1197)
															return hx::Throw (HX_CSTRING("Not a string"));
														}
													}
												}
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",1197)
									::String n = _Function_5_1::Block(pool,c1);
									HX_SOURCE_POS("Source/jax/JVM.hx",1198)
									if ((::jax::JVM_obj::externs->exists(n))){
										HX_SOURCE_POS("Source/jax/JVM.hx",1199)
										::Class c2 = ::jax::JVM_obj::externs->get(n);
										HX_SOURCE_POS("Source/jax/JVM.hx",1200)
										::String gn = ((HX_CSTRING("get") + n.charAt((int)0).toUpperCase()) + n.substr((int)1,null()));
										struct _Function_6_1{
											inline static ::String Block( Array< ::jax::JConstant > &pool,int &nt){
												{
													struct _Function_7_1{
														inline static int Block( Array< ::jax::JConstant > &pool,int &nt){
															{
																HX_SOURCE_POS("Source/jax/JVM.hx",1203)
																{
::jax::JConstant _switch_76 = (pool->__get(nt));
																	switch((_switch_76)->GetIndex()){
																		case 7: {
																			int t = _switch_76->__Param(1);
																			int n1 = _switch_76->__Param(0);
{
																				HX_SOURCE_POS("Source/jax/JVM.hx",1203)
																				return n1;
																			}
																		}
																		;break;
																		default: {
																			HX_SOURCE_POS("Source/jax/JVM.hx",1203)
																			return hx::Throw (HX_CSTRING("Invalid name & type"));
																		}
																	}
																}
															}
															return null();
														}
													};
													HX_SOURCE_POS("Source/jax/JVM.hx",1203)
													{
::jax::JConstant _switch_77 = (pool->__get(_Function_7_1::Block(pool,nt)));
														switch((_switch_77)->GetIndex()){
															case 0: {
																::String s1 = _switch_77->__Param(0);
{
																	HX_SOURCE_POS("Source/jax/JVM.hx",1203)
																	return s1;
																}
															}
															;break;
															default: {
																HX_SOURCE_POS("Source/jax/JVM.hx",1203)
																return hx::Throw (HX_CSTRING("Not a string"));
															}
														}
													}
												}
												return null();
											}
										};
										HX_SOURCE_POS("Source/jax/JVM.hx",1201)
										stack->push(::jax::JVM_obj::fromNativeValue((  ((::Reflect_obj::hasField(c2,n))) ? Dynamic(::Reflect_obj::field(c2,_Function_6_1::Block(pool,nt))) : Dynamic((  ((::Reflect_obj::hasField(c2,gn))) ? Dynamic(::Reflect_obj::callMethod(c2,::Reflect_obj::field(c2,gn),Dynamic( Array_obj<Dynamic>::__new()))) : Dynamic(null()) )) )));
									}
									else{
										HX_SOURCE_POS("Source/jax/JVM.hx",1209)
										if ((::jax::JVM_obj::classes->exists(n))){
											HX_SOURCE_POS("Source/jax/JVM.hx",1210)
											stack->push(::jax::JVM_obj::classes->get(n)->__Field(HX_CSTRING("getField"),true)(pool->__get(nt))->__Field(HX_CSTRING("value"),true));
										}
									}
									HX_SOURCE_POS("Source/jax/JVM.hx",1212)
									::haxe::Log_obj::trace((((HX_CSTRING("Field found in ") + n) + HX_CSTRING(": ")) + ::Std_obj::string(stack->__get((stack->length - (int)1)))),hx::SourceInfo(HX_CSTRING("JVM.hx"),1212,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
								}
							}
							;break;
							default: {
								HX_SOURCE_POS("Source/jax/JVM.hx",1214)
								hx::Throw (HX_CSTRING("Not a field reference!"));
							}
						}
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",1216)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)179: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1218)
					::jax::JConstant field = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1219)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1220)
					::jax::JValue value = stack->pop();
				}
				;break;
				case (int)180: {
					struct _Function_4_1{
						inline static ::jax::lang::JObject Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1222)
								{
::jax::JValue _switch_78 = (stack->pop());
									switch((_switch_78)->GetIndex()){
										case 1: {
											::jax::lang::JObject o = _switch_78->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1223)
												return o;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1224)
											return hx::Throw (HX_CSTRING("Invalid Object"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1222)
					::jax::lang::JObject obj = _Function_4_1::Block(stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1226)
					if (((obj == null()))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1227)
						hx::Throw (::jax::lang::JNullPointerException_obj::__new(HX_CSTRING("Cannot get instance field of null")));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",1228)
					::jax::JConstant field = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1229)
					::jax::lang::JField f = obj->getField(field);
					HX_SOURCE_POS("Source/jax/JVM.hx",1230)
					stack->push((  (((f == null()))) ? ::jax::JValue(::jax::JValue_obj::_object(null())) : ::jax::JValue(f->value) ));
				}
				;break;
				case (int)181: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1232)
					::jax::JConstant fieldref = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1233)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1234)
					::jax::JValue val = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",1235)
					::jax::JValue obj = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",1237)
					::haxe::Log_obj::trace((((HX_CSTRING("Putting ") + ::Std_obj::string(val)) + HX_CSTRING(" into ")) + ::Std_obj::string(obj)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1237,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1239)
					{
::jax::JValue _switch_79 = (obj);
						switch((_switch_79)->GetIndex()){
							case 1: {
								::jax::lang::JObject o = _switch_79->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",1240)
									if (((o == null()))){
										HX_SOURCE_POS("Source/jax/JVM.hx",1241)
										hx::Throw (::jax::lang::JNullPointerException_obj::__new(HX_CSTRING("Cannot put field into null")));
									}
									else{
										HX_SOURCE_POS("Source/jax/JVM.hx",1243)
										o->getField(fieldref)->value = val;
									}
								}
							}
							;break;
							case 2: {
								Dynamic o = _switch_79->__Param(0);
{
									HX_SOURCE_POS("Source/jax/JVM.hx",1244)
									if (((o != null()))){
										struct _Function_6_1{
											inline static int Block( ::jax::JConstant &fieldref){
												{
													HX_SOURCE_POS("Source/jax/JVM.hx",1244)
													{
::jax::JConstant _switch_80 = (fieldref);
														switch((_switch_80)->GetIndex()){
															case 7: {
																int t = _switch_80->__Param(1);
																int n = _switch_80->__Param(0);
{
																	HX_SOURCE_POS("Source/jax/JVM.hx",1244)
																	return n;
																}
															}
															;break;
															default: {
																HX_SOURCE_POS("Source/jax/JVM.hx",1244)
																return hx::Throw (HX_CSTRING("Invalid name & type"));
															}
														}
													}
												}
												return null();
											}
										};
										HX_SOURCE_POS("Source/jax/JVM.hx",1244)
										o->__SetField(::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(_Function_6_1::Block(fieldref)),pool)),::jax::JVM_obj::toNativeValue(val),false);
									}
								}
							}
							;break;
							default: {
							}
						}
					}
				}
				;break;
				case (int)182: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1248)
					::jax::JValue obj = stack->__get((int)0);
					HX_SOURCE_POS("Source/jax/JVM.hx",1250)
					stack = stack->slice((int)1,null());
					HX_SOURCE_POS("Source/jax/JVM.hx",1251)
					{
::jax::JConstant _switch_81 = (pool->__get(bi->readInt16()));
						switch((_switch_81)->GetIndex()){
							case 8: {
								int f = _switch_81->__Param(1);
								int n = _switch_81->__Param(0);
{
									struct _Function_5_1{
										inline static ::String Block( Array< ::jax::JConstant > &pool,int &n){
											{
												struct _Function_6_1{
													inline static int Block( Array< ::jax::JConstant > &pool,int &n){
														{
															HX_SOURCE_POS("Source/jax/JVM.hx",1253)
															{
::jax::JConstant _switch_82 = (pool->__get(n));
																switch((_switch_82)->GetIndex()){
																	case 5: {
																		int i = _switch_82->__Param(0);
{
																			HX_SOURCE_POS("Source/jax/JVM.hx",1253)
																			return i;
																		}
																	}
																	;break;
																	case 6: {
																		int i = _switch_82->__Param(0);
{
																			HX_SOURCE_POS("Source/jax/JVM.hx",1253)
																			return i;
																		}
																	}
																	;break;
																	default: {
																		HX_SOURCE_POS("Source/jax/JVM.hx",1253)
																		return (int)0;
																	}
																}
															}
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/jax/JVM.hx",1253)
												{
::jax::JConstant _switch_83 = (pool->__get(_Function_6_1::Block(pool,n)));
													switch((_switch_83)->GetIndex()){
														case 0: {
															::String s1 = _switch_83->__Param(0);
{
																HX_SOURCE_POS("Source/jax/JVM.hx",1253)
																return s1;
															}
														}
														;break;
														default: {
															HX_SOURCE_POS("Source/jax/JVM.hx",1253)
															return hx::Throw (HX_CSTRING("Not a string"));
														}
													}
												}
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",1253)
									::String c1 = _Function_5_1::Block(pool,n);
									HX_SOURCE_POS("Source/jax/JVM.hx",1255)
									::haxe::Log_obj::trace((HX_CSTRING("Class: ") + c1),hx::SourceInfo(HX_CSTRING("JVM.hx"),1255,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
									HX_SOURCE_POS("Source/jax/JVM.hx",1256)
									::haxe::Log_obj::trace((HX_CSTRING("Instance: ") + ::Std_obj::string(obj)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1256,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
									struct _Function_5_2{
										inline static int Block( Array< ::jax::JConstant > &pool,int &f){
											{
												HX_SOURCE_POS("Source/jax/JVM.hx",1257)
												{
::jax::JConstant _switch_84 = (pool->__get(f));
													switch((_switch_84)->GetIndex()){
														case 7: {
															int t = _switch_84->__Param(1);
															int n1 = _switch_84->__Param(0);
{
																HX_SOURCE_POS("Source/jax/JVM.hx",1257)
																return n1;
															}
														}
														;break;
														default: {
															HX_SOURCE_POS("Source/jax/JVM.hx",1257)
															return hx::Throw (HX_CSTRING("Invalid name & type"));
														}
													}
												}
											}
											return null();
										}
									};
									HX_SOURCE_POS("Source/jax/JVM.hx",1257)
									::haxe::Log_obj::trace((HX_CSTRING("Method: ") + ::Std_obj::string(::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(_Function_5_2::Block(pool,f)),null())))),hx::SourceInfo(HX_CSTRING("JVM.hx"),1257,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
									HX_SOURCE_POS("Source/jax/JVM.hx",1258)
									::haxe::Log_obj::trace((HX_CSTRING("Args: ") + ::Std_obj::string(stack)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1258,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
									HX_SOURCE_POS("Source/jax/JVM.hx",1260)
									{
::jax::JValue _switch_85 = (obj);
										switch((_switch_85)->GetIndex()){
											case 1: {
												::jax::lang::JObject o = _switch_85->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",1263)
													::haxe::Log_obj::trace(HX_CSTRING("Java Object"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1263,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
													HX_SOURCE_POS("Source/jax/JVM.hx",1265)
													::jax::lang::JClass cl = ::jax::JVM_obj::classes->get(c1);
													HX_SOURCE_POS("Source/jax/JVM.hx",1266)
													::jax::JMethod method = cl->getMethod(pool->__get(f),pool);
												}
											}
											;break;
											case 2: {
												Dynamic o = _switch_85->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",1271)
													::haxe::Log_obj::trace(HX_CSTRING("External Object"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1271,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
													HX_SOURCE_POS("Source/jax/JVM.hx",1273)
													Dynamic args = ::Lambda_obj::array(::Lambda_obj::map(stack,::jax::JVM_obj::toNativeValue_dyn()));
													HX_SOURCE_POS("Source/jax/JVM.hx",1275)
													::haxe::Log_obj::trace((HX_CSTRING("Calling External Object with args: ") + ::Std_obj::string(args)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1275,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
													HX_SOURCE_POS("Source/jax/JVM.hx",1277)
													stack = Array_obj< ::jax::JValue >::__new();
													struct _Function_6_1{
														inline static int Block( Array< ::jax::JConstant > &pool,int &f){
															{
																HX_SOURCE_POS("Source/jax/JVM.hx",1278)
																{
::jax::JConstant _switch_86 = (pool->__get(f));
																	switch((_switch_86)->GetIndex()){
																		case 7: {
																			int t = _switch_86->__Param(1);
																			int n1 = _switch_86->__Param(0);
{
																				HX_SOURCE_POS("Source/jax/JVM.hx",1278)
																				return n1;
																			}
																		}
																		;break;
																		default: {
																			HX_SOURCE_POS("Source/jax/JVM.hx",1278)
																			return hx::Throw (HX_CSTRING("Invalid name & type"));
																		}
																	}
																}
															}
															return null();
														}
													};
													HX_SOURCE_POS("Source/jax/JVM.hx",1278)
													Dynamic ntv = ::Reflect_obj::callMethod(o,::Reflect_obj::field(o,::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(_Function_6_1::Block(pool,f)),null()))),args);
													HX_SOURCE_POS("Source/jax/JVM.hx",1279)
													if (((ntv != null()))){
														HX_SOURCE_POS("Source/jax/JVM.hx",1280)
														stack->push(::jax::JVM_obj::fromNativeValue(ntv));
													}
												}
											}
											;break;
											default: {
												HX_SOURCE_POS("Source/jax/JVM.hx",1281)
												hx::Throw (HX_CSTRING("Invalid Type"));
											}
										}
									}
								}
							}
							;break;
							default: {
							}
						}
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",1285)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)183: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1287)
					::jax::JConstant method = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1288)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1289)
					::jax::JValue obj = stack->pop();
					HX_SOURCE_POS("Source/jax/JVM.hx",1290)
					::jax::JValue res = ::jax::JVM_obj::solveMethodRef(obj,pool,method,stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1291)
					if (((bool((res != null())) && bool((res != ::jax::JValue_obj::_void_dyn()))))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1292)
						stack->push(res);
					}
				}
				;break;
				case (int)184: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1294)
					::jax::JConstant val = pool->__get(bi->readInt16());
					HX_SOURCE_POS("Source/jax/JVM.hx",1295)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1296)
					Array< ::jax::JValue > args = Array_obj< ::jax::JValue >::__new();
					HX_SOURCE_POS("Source/jax/JVM.hx",1297)
					while(((stack->length > (int)0))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1298)
						args->push(stack->pop());
					}
					struct _Function_4_1{
						inline static ::jax::JValue Block( ::jax::JConstant &val,Array< ::jax::JConstant > &pool,Array< ::jax::JValue > &stack,Array< ::jax::JValue > &args){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1299)
								{
::jax::JConstant _switch_87 = (val);
									switch((_switch_87)->GetIndex()){
										case 8: {
											int nt = _switch_87->__Param(1);
											int c1 = _switch_87->__Param(0);
{
												struct _Function_6_1{
													inline static ::String Block( Array< ::jax::JConstant > &pool,int &c1){
														{
															struct _Function_7_1{
																inline static int Block( Array< ::jax::JConstant > &pool,int &c1){
																	{
																		HX_SOURCE_POS("Source/jax/JVM.hx",1301)
																		{
::jax::JConstant _switch_88 = (pool->__get(c1));
																			switch((_switch_88)->GetIndex()){
																				case 5: {
																					int i = _switch_88->__Param(0);
{
																						HX_SOURCE_POS("Source/jax/JVM.hx",1301)
																						return i;
																					}
																				}
																				;break;
																				case 6: {
																					int i = _switch_88->__Param(0);
{
																						HX_SOURCE_POS("Source/jax/JVM.hx",1301)
																						return i;
																					}
																				}
																				;break;
																				default: {
																					HX_SOURCE_POS("Source/jax/JVM.hx",1301)
																					return (int)0;
																				}
																			}
																		}
																	}
																	return null();
																}
															};
															HX_SOURCE_POS("Source/jax/JVM.hx",1301)
															{
::jax::JConstant _switch_89 = (pool->__get(_Function_7_1::Block(pool,c1)));
																switch((_switch_89)->GetIndex()){
																	case 0: {
																		::String s1 = _switch_89->__Param(0);
{
																			HX_SOURCE_POS("Source/jax/JVM.hx",1301)
																			return s1;
																		}
																	}
																	;break;
																	default: {
																		HX_SOURCE_POS("Source/jax/JVM.hx",1301)
																		return hx::Throw (HX_CSTRING("Not a string"));
																	}
																}
															}
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/jax/JVM.hx",1301)
												::String cl = _Function_6_1::Block(pool,c1);
												struct _Function_6_2{
													inline static ::String Block( Array< ::jax::JConstant > &pool,int &nt){
														{
															struct _Function_7_1{
																inline static int Block( Array< ::jax::JConstant > &pool,int &nt){
																	{
																		HX_SOURCE_POS("Source/jax/JVM.hx",1302)
																		{
::jax::JConstant _switch_90 = (pool->__get(nt));
																			switch((_switch_90)->GetIndex()){
																				case 7: {
																					int t = _switch_90->__Param(1);
																					int n = _switch_90->__Param(0);
{
																						HX_SOURCE_POS("Source/jax/JVM.hx",1302)
																						return n;
																					}
																				}
																				;break;
																				default: {
																					HX_SOURCE_POS("Source/jax/JVM.hx",1302)
																					return hx::Throw (HX_CSTRING("Invalid name & type"));
																				}
																			}
																		}
																	}
																	return null();
																}
															};
															HX_SOURCE_POS("Source/jax/JVM.hx",1302)
															{
::jax::JConstant _switch_91 = (pool->__get(_Function_7_1::Block(pool,nt)));
																switch((_switch_91)->GetIndex()){
																	case 0: {
																		::String s1 = _switch_91->__Param(0);
{
																			HX_SOURCE_POS("Source/jax/JVM.hx",1302)
																			return s1;
																		}
																	}
																	;break;
																	default: {
																		HX_SOURCE_POS("Source/jax/JVM.hx",1302)
																		return hx::Throw (HX_CSTRING("Not a string"));
																	}
																}
															}
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/jax/JVM.hx",1302)
												::String n = _Function_6_2::Block(pool,nt);
												HX_SOURCE_POS("Source/jax/JVM.hx",1304)
												::haxe::Log_obj::trace((((HX_CSTRING("Calling ") + n) + HX_CSTRING(" with args: ")) + ::Std_obj::string(stack)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1304,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
												struct _Function_6_3{
													inline static ::jax::JValue Block( ::String &n,::String &cl,Array< ::jax::JValue > &args){
														{
															HX_SOURCE_POS("Source/jax/JVM.hx",1307)
															Dynamic field = ::Reflect_obj::field(::jax::JVM_obj::externs->get(cl),n);
															HX_SOURCE_POS("Source/jax/JVM.hx",1308)
															if (((field == null()))){
																HX_SOURCE_POS("Source/jax/JVM.hx",1309)
																hx::Throw ((((HX_CSTRING("Unexistant field: ") + n) + HX_CSTRING(" in ")) + cl));
															}
															HX_SOURCE_POS("Source/jax/JVM.hx",1310)
															Dynamic res = ::Reflect_obj::callMethod(::jax::JVM_obj::externs->get(cl),field,args);
															HX_SOURCE_POS("Source/jax/JVM.hx",1312)
															return ::jax::JVM_obj::fromNativeValue(res);
														}
														return null();
													}
												};
												struct _Function_6_4{
													inline static ::jax::JValue Block( Array< ::jax::JConstant > &pool,::String &cl,Array< ::jax::JValue > &args){
														{
															HX_SOURCE_POS("Source/jax/JVM.hx",1314)
															::jax::JValue r = null();
															HX_SOURCE_POS("Source/jax/JVM.hx",1315)
															{
																HX_SOURCE_POS("Source/jax/JVM.hx",1315)
																int _g = (int)0;
																Array< ::jax::JMethod > _g1 = ::jax::JVM_obj::classes->get(cl)->__Field(HX_CSTRING("methods"),true);
																HX_SOURCE_POS("Source/jax/JVM.hx",1315)
																while(((_g < _g1->length))){
																	HX_SOURCE_POS("Source/jax/JVM.hx",1315)
																	::jax::JMethod n1 = _g1->__get(_g);
																	HX_SOURCE_POS("Source/jax/JVM.hx",1315)
																	++(_g);
																	HX_SOURCE_POS("Source/jax/JVM.hx",1316)
																	if (((::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(n1->name_index),null())) == n1))){
																		HX_SOURCE_POS("Source/jax/JVM.hx",1317)
																		int _g2 = (int)0;
																		Array< ::jax::JAttribute > _g3 = n1->attributes;
																		HX_SOURCE_POS("Source/jax/JVM.hx",1317)
																		while(((_g2 < _g3->length))){
																			HX_SOURCE_POS("Source/jax/JVM.hx",1317)
																			::jax::JAttribute a = _g3->__get(_g2);
																			HX_SOURCE_POS("Source/jax/JVM.hx",1317)
																			++(_g2);
																			HX_SOURCE_POS("Source/jax/JVM.hx",1318)
																			{
::jax::JAttribute _switch_92 = (a);
																				switch((_switch_92)->GetIndex()){
																					case 0: {
																						::jax::JCode c2 = _switch_92->__Param(0);
{
																							HX_SOURCE_POS("Source/jax/JVM.hx",1319)
																							r = ::jax::JVM_obj::exec(::jax::JVM_obj::classes->get(cl),c2->code,args);
																						}
																					}
																					;break;
																					default: {
																					}
																				}
																			}
																		}
																	}
																}
															}
															HX_SOURCE_POS("Source/jax/JVM.hx",1323)
															return r;
														}
														return null();
													}
												};
												HX_SOURCE_POS("Source/jax/JVM.hx",1306)
												return (  ((::jax::JVM_obj::externs->exists(cl))) ? ::jax::JValue(_Function_6_3::Block(n,cl,args)) : ::jax::JValue((  ((::jax::JVM_obj::classes->exists(cl))) ? ::jax::JValue(_Function_6_4::Block(pool,cl,args)) : ::jax::JValue(null()) )) );
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1325)
											return hx::Throw (HX_CSTRING("Expected field reference."));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1299)
					stack->push(_Function_4_1::Block(val,pool,stack,args));
				}
				;break;
				case (int)186: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1330)
					int index = bi->readInt16();
					HX_SOURCE_POS("Source/jax/JVM.hx",1331)
					if (((bi->readInt16() != (int)0))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1332)
						hx::Throw (HX_CSTRING("Invalid dynamic invocation"));
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",1333)
					hx::AddEq(bof,(int)4);
					HX_SOURCE_POS("Source/jax/JVM.hx",1334)
					::jax::JConstant method = pool->__get(index);
				}
				;break;
				case (int)187: {
					struct _Function_4_1{
						inline static ::String Block( Array< ::jax::JConstant > &pool,::haxe::io::BytesInput &bi){
							{
								struct _Function_5_1{
									inline static int Block( Array< ::jax::JConstant > &pool,::haxe::io::BytesInput &bi){
										{
											HX_SOURCE_POS("Source/jax/JVM.hx",1336)
											{
::jax::JConstant _switch_93 = (pool->__get(bi->readInt16()));
												switch((_switch_93)->GetIndex()){
													case 5: {
														int i = _switch_93->__Param(0);
{
															HX_SOURCE_POS("Source/jax/JVM.hx",1336)
															return i;
														}
													}
													;break;
													default: {
														HX_SOURCE_POS("Source/jax/JVM.hx",1336)
														return hx::Throw (HX_CSTRING("Invalid class reference"));
													}
												}
											}
										}
										return null();
									}
								};
								HX_SOURCE_POS("Source/jax/JVM.hx",1336)
								{
::jax::JConstant _switch_94 = (pool->__get(_Function_5_1::Block(pool,bi)));
									switch((_switch_94)->GetIndex()){
										case 0: {
											::String s1 = _switch_94->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1337)
												return s1;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1338)
											return hx::Throw (HX_CSTRING("Not a string"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1336)
					::String type = _Function_4_1::Block(pool,bi);
					HX_SOURCE_POS("Source/jax/JVM.hx",1341)
					::haxe::Log_obj::trace((HX_CSTRING("Constructing object of type: ") + type),hx::SourceInfo(HX_CSTRING("JVM.hx"),1341,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1343)
					if ((::jax::JVM_obj::classes->exists(type))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1344)
						::jax::lang::JObject obj = ::jax::lang::JObject_obj::__new();
						HX_SOURCE_POS("Source/jax/JVM.hx",1345)
						obj->_type = type;
						HX_SOURCE_POS("Source/jax/JVM.hx",1346)
						::jax::lang::JObject_obj::init(obj,::jax::JVM_obj::classes->get(obj->_type));
						HX_SOURCE_POS("Source/jax/JVM.hx",1347)
						stack->push(::jax::JValue_obj::_object(obj));
					}
					else{
						HX_SOURCE_POS("Source/jax/JVM.hx",1348)
						stack->push(::jax::JValue_obj::_object(null()));
					}
				}
				;break;
				case (int)188: {
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1352)
								{
::jax::JValue _switch_95 = (stack->pop());
									switch((_switch_95)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_95->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1353)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1354)
											return hx::Throw (HX_CSTRING("Index must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1352)
					int length = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(stack));
					HX_SOURCE_POS("Source/jax/JVM.hx",1357)
					::haxe::Log_obj::trace((HX_CSTRING("Length: ") + length),hx::SourceInfo(HX_CSTRING("JVM.hx"),1357,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1359)
					int type = bi->readByte();
					HX_SOURCE_POS("Source/jax/JVM.hx",1360)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1362)
					::haxe::Log_obj::trace((HX_CSTRING("New array of type ") + type),hx::SourceInfo(HX_CSTRING("JVM.hx"),1362,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1364)
					stack->push(::jax::JValue_obj::_array(::jax::JArray_obj::__new(length)));
				}
				;break;
				case (int)189: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1366)
					::jax::JValue lenval = stack->pop();
					struct _Function_4_1{
						inline static ::cpp::CppInt32__ Block( ::jax::JValue &lenval){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1367)
								{
::jax::JValue _switch_96 = (lenval);
									switch((_switch_96)->GetIndex()){
										case 5: {
											::cpp::CppInt32__ v = _switch_96->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1368)
												return v;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1369)
											return hx::Throw (HX_CSTRING("Length must be int"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1367)
					int length = ::cpp::CppInt32___obj::toInt(_Function_4_1::Block(lenval));
					HX_SOURCE_POS("Source/jax/JVM.hx",1372)
					::haxe::Log_obj::trace((HX_CSTRING("Constructing array of length: ") + length),hx::SourceInfo(HX_CSTRING("JVM.hx"),1372,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1374)
					int type = bi->readInt16();
					HX_SOURCE_POS("Source/jax/JVM.hx",1375)
					hx::AddEq(bof,(int)2);
					HX_SOURCE_POS("Source/jax/JVM.hx",1376)
					stack->push(::jax::JValue_obj::_array(::jax::JArray_obj::__new(length)));
				}
				;break;
				case (int)190: {
					struct _Function_4_1{
						inline static int Block( Array< ::jax::JValue > &stack){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1378)
								{
::jax::JValue _switch_97 = (stack->pop());
									switch((_switch_97)->GetIndex()){
										case 0: {
											::jax::JArray a = _switch_97->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1379)
												return a->length;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1380)
											return hx::Throw (HX_CSTRING("This is not an array!"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1377)
					stack->push(::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(_Function_4_1::Block(stack))));
				}
				;break;
				case (int)191: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1383)
					::jax::lang::JSystem_obj::err->println((HX_CSTRING("Exception: ") + ::Std_obj::string(stack->pop())));
					HX_SOURCE_POS("Source/jax/JVM.hx",1384)
					return ::jax::JValue_obj::_void_dyn();
				}
				;break;
				case (int)192: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1386)
					::jax::JValue obj = stack->pop();
					struct _Function_4_1{
						inline static int Block( Array< ::jax::JConstant > &pool,::haxe::io::BytesInput &bi){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1387)
								{
::jax::JConstant _switch_98 = (pool->__get(bi->readInt16()));
									switch((_switch_98)->GetIndex()){
										case 5: {
											int i = _switch_98->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1387)
												return i;
											}
										}
										;break;
										case 6: {
											int i = _switch_98->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1387)
												return i;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1387)
											return (int)0;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1387)
					::jax::JConstant cl = pool->__get(_Function_4_1::Block(pool,bi));
					HX_SOURCE_POS("Source/jax/JVM.hx",1389)
					::haxe::Log_obj::trace(HX_CSTRING("Attempt to check cast"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1389,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1390)
					::haxe::Log_obj::trace((HX_CSTRING("on ") + ::Std_obj::string(obj)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1390,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1391)
					::haxe::Log_obj::trace((HX_CSTRING("if ") + ::Std_obj::string(cl)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1391,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1392)
					::haxe::Log_obj::trace(HX_CSTRING("CAST UNIMPLEMENTED"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1392,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1394)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)193: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1396)
					::jax::JValue obj = stack->pop();
					struct _Function_4_1{
						inline static int Block( Array< ::jax::JConstant > &pool,::haxe::io::BytesInput &bi){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1397)
								{
::jax::JConstant _switch_99 = (pool->__get(bi->readInt16()));
									switch((_switch_99)->GetIndex()){
										case 5: {
											int i = _switch_99->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1397)
												return i;
											}
										}
										;break;
										case 6: {
											int i = _switch_99->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1397)
												return i;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1397)
											return (int)0;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1397)
					::jax::JConstant cl = pool->__get(_Function_4_1::Block(pool,bi));
					HX_SOURCE_POS("Source/jax/JVM.hx",1399)
					::haxe::Log_obj::trace(HX_CSTRING("Attempt to check instance"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1399,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1400)
					::haxe::Log_obj::trace((HX_CSTRING("on ") + ::Std_obj::string(obj)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1400,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1401)
					::haxe::Log_obj::trace((HX_CSTRING("if ") + ::Std_obj::string(cl)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1401,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1402)
					::haxe::Log_obj::trace(HX_CSTRING("INSTANCE OF UNIMPLEMENTED"),hx::SourceInfo(HX_CSTRING("JVM.hx"),1402,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1404)
					hx::AddEq(bof,(int)2);
				}
				;break;
				case (int)197: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1406)
					int cl = bi->readInt16();
					HX_SOURCE_POS("Source/jax/JVM.hx",1407)
					int dims = bi->readByte();
					HX_SOURCE_POS("Source/jax/JVM.hx",1409)
					::haxe::Log_obj::trace((HX_CSTRING("Constructing multi-dimension array : ") + ::Std_obj::string(stack)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1409,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1411)
					::jax::JValue arr = ::jax::JVM_obj::initArray(dims,stack);
					HX_SOURCE_POS("Source/jax/JVM.hx",1412)
					while(((stack->length > (int)0))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1413)
						stack->pop();
					}
					HX_SOURCE_POS("Source/jax/JVM.hx",1414)
					stack->push(arr);
				}
				;break;
				case (int)202: {
				}
				;break;
				default: {
					HX_SOURCE_POS("Source/jax/JVM.hx",1416)
					hx::Throw ((HX_CSTRING("Unknown instruction: ") + ::StringTools_obj::hex(byte,null())));
				}
			}
			HX_SOURCE_POS("Source/jax/JVM.hx",1419)
			::haxe::Log_obj::trace(((((((bof + HX_CSTRING(": ")) + ::StringTools_obj::hex(byte,null())) + HX_CSTRING(":: ")) + ::Std_obj::string(stack)) + HX_CSTRING(" :: ")) + ::Std_obj::string(lvars)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1419,HX_CSTRING("jax.JVM"),HX_CSTRING("exec")));
		}
	}
	catch(Dynamic __e){
		{
			Dynamic d = __e;{
			}
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",1423)
	return ::jax::JValue_obj::_void_dyn();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC3(JVM_obj,exec,return )

bool JVM_obj::dor_long( ::jax::JValue v){
	HX_SOURCE_PUSH("JVM_obj::dor_long")
	struct _Function_1_1{
		inline static bool Block( ::jax::JValue &v){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",1426)
				{
::jax::JValue _switch_100 = (v);
					switch((_switch_100)->GetIndex()){
						case 6: {
							::haxe::Int64 v1 = _switch_100->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",1427)
								return true;
							}
						}
						;break;
						case 4: {
							Float v1 = _switch_100->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",1428)
								return true;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",1429)
							return false;
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",1425)
	return _Function_1_1::Block(v);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,dor_long,return )

::jax::JValue JVM_obj::initArray( int dims,Array< ::jax::JValue > stack){
	HX_SOURCE_PUSH("JVM_obj::initArray")
	HX_SOURCE_POS("Source/jax/JVM.hx",1433)
	(dims)--;
	struct _Function_1_1{
		inline static int Block( Array< ::jax::JValue > &stack){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",1434)
				{
::jax::JValue _switch_101 = (stack->__get((int)0));
					switch((_switch_101)->GetIndex()){
						case 5: {
							::cpp::CppInt32__ v = _switch_101->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",1435)
								return ::cpp::CppInt32___obj::toInt(v);
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",1436)
							return (int)0;
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",1434)
	int len = _Function_1_1::Block(stack);
	HX_SOURCE_POS("Source/jax/JVM.hx",1438)
	stack = stack->slice((int)1,null());
	HX_SOURCE_POS("Source/jax/JVM.hx",1440)
	::haxe::Log_obj::trace((((HX_CSTRING("Constructing array of length: ") + len) + HX_CSTRING(" and dimensions: ")) + dims),hx::SourceInfo(HX_CSTRING("JVM.hx"),1440,HX_CSTRING("jax.JVM"),HX_CSTRING("initArray")));
	HX_SOURCE_POS("Source/jax/JVM.hx",1442)
	Array< ::jax::JValue > arr = Array_obj< ::jax::JValue >::__new();
	HX_SOURCE_POS("Source/jax/JVM.hx",1443)
	{
		HX_SOURCE_POS("Source/jax/JVM.hx",1443)
		int _g = (int)0;
		HX_SOURCE_POS("Source/jax/JVM.hx",1443)
		while(((_g < len))){
			HX_SOURCE_POS("Source/jax/JVM.hx",1443)
			int i = (_g)++;
			HX_SOURCE_POS("Source/jax/JVM.hx",1444)
			arr->push((  (((dims <= (int)0))) ? ::jax::JValue(::jax::JValue_obj::_object(null())) : ::jax::JValue(::jax::JVM_obj::initArray(dims,stack)) ));
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",1447)
	return ::jax::JValue_obj::_array(::jax::JArray_obj::ofArray(arr));
}


STATIC_HX_DEFINE_DYNAMIC_FUNC2(JVM_obj,initArray,return )

::jax::JValue JVM_obj::fromNativeValue( Dynamic d){
	HX_SOURCE_PUSH("JVM_obj::fromNativeValue")
	HX_SOURCE_POS("Source/jax/JVM.hx",1451)
	::haxe::Log_obj::trace((((HX_CSTRING("Converting ") + ::Std_obj::string(d)) + HX_CSTRING(" of type ")) + ::Std_obj::string(::Type_obj::_typeof(d))),hx::SourceInfo(HX_CSTRING("JVM.hx"),1451,HX_CSTRING("jax.JVM"),HX_CSTRING("fromNativeValue")));
	HX_SOURCE_POS("Source/jax/JVM.hx",1453)
	{
::ValueType _switch_102 = (::Type_obj::_typeof(d));
		switch((_switch_102)->GetIndex()){
			case 8: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1454)
				return ::jax::JValue_obj::_void_dyn();
			}
			;break;
			case 4: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1455)
				return ::jax::JValue_obj::_exter(d);
			}
			;break;
			case 0: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1456)
				return ::jax::JValue_obj::_object(null());
			}
			;break;
			case 1: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1457)
				return ::jax::JValue_obj::_int(::cpp::CppInt32___obj::ofInt(d));
			}
			;break;
			case 5: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1458)
				return ::jax::JValue_obj::_exter(d);
			}
			;break;
			case 2: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1459)
				return ::jax::JValue_obj::_double(d);
			}
			;break;
			case 3: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1460)
				return ::jax::JValue_obj::_boolean(d);
			}
			;break;
			case 6: {
				::Class c = _switch_102->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",1461)
					return ::jax::JValue_obj::_exter(d);
				}
			}
			;break;
			case 7: {
				::Enum e = _switch_102->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",1462)
					return ::jax::JValue_obj::_exter(d);
				}
			}
			;break;
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",1453)
	return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,fromNativeValue,return )

::jax::JValue JVM_obj::copy( ::jax::JValue v){
	HX_SOURCE_PUSH("JVM_obj::copy")
	HX_SOURCE_POS("Source/jax/JVM.hx",1465)
	{
::jax::JValue _switch_103 = (v);
		switch((_switch_103)->GetIndex()){
			case 1: {
				::jax::lang::JObject o = _switch_103->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",1467)
					return ::jax::JValue_obj::_object(o);
				}
			}
			;break;
			case 0: {
				::jax::JArray c = _switch_103->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",1468)
					return ::jax::JValue_obj::_array(c);
				}
			}
			;break;
			case 2: {
				Dynamic o = _switch_103->__Param(0);
{
					HX_SOURCE_POS("Source/jax/JVM.hx",1469)
					return ::jax::JValue_obj::_exter(o);
				}
			}
			;break;
			case 11: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1470)
				return ::jax::JValue_obj::_void_dyn();
			}
			;break;
			default: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1471)
				return ::jax::JVM_obj::fromNativeValue(::Type_obj::enumParameters(v)->__GetItem((int)0));
			}
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",1465)
	return null();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,copy,return )

::String JVM_obj::stringConst( ::jax::JConstant s){
	HX_SOURCE_PUSH("JVM_obj::stringConst")
	struct _Function_1_1{
		inline static ::String Block( ::jax::JConstant &s){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",1475)
				{
::jax::JConstant _switch_104 = (s);
					switch((_switch_104)->GetIndex()){
						case 0: {
							::String s1 = _switch_104->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",1476)
								return s1;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",1477)
							return hx::Throw (HX_CSTRING("Not a string"));
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",1474)
	return _Function_1_1::Block(s);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,stringConst,return )

::jax::JValue JVM_obj::solveMethodRef( ::jax::JValue obj,Array< ::jax::JConstant > pool,::jax::JConstant method,Array< ::jax::JValue > args){
	HX_SOURCE_PUSH("JVM_obj::solveMethodRef")
	HX_SOURCE_POS("Source/jax/JVM.hx",1481)
	::cpp::vm::Gc_obj::run(false);
	HX_SOURCE_POS("Source/jax/JVM.hx",1482)
	{
::jax::JConstant _switch_105 = (method);
		switch((_switch_105)->GetIndex()){
			case 8: {
				int nt = _switch_105->__Param(1);
				int c = _switch_105->__Param(0);
{
					struct _Function_2_1{
						inline static int Block( Array< ::jax::JConstant > &pool,int &c){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1484)
								{
::jax::JConstant _switch_106 = (pool->__get(c));
									switch((_switch_106)->GetIndex()){
										case 5: {
											int i = _switch_106->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1484)
												return i;
											}
										}
										;break;
										case 6: {
											int i = _switch_106->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1484)
												return i;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1484)
											return (int)0;
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1484)
					::String c1 = ::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(_Function_2_1::Block(pool,c)),null()));
					struct _Function_2_2{
						inline static int Block( Array< ::jax::JConstant > &pool,int &nt){
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1485)
								{
::jax::JConstant _switch_107 = (pool->__get(nt));
									switch((_switch_107)->GetIndex()){
										case 7: {
											int t = _switch_107->__Param(1);
											int n = _switch_107->__Param(0);
{
												HX_SOURCE_POS("Source/jax/JVM.hx",1485)
												return n;
											}
										}
										;break;
										default: {
											HX_SOURCE_POS("Source/jax/JVM.hx",1485)
											return hx::Throw (HX_CSTRING("Invalid name & type"));
										}
									}
								}
							}
							return null();
						}
					};
					HX_SOURCE_POS("Source/jax/JVM.hx",1485)
					::String n = ::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(_Function_2_2::Block(pool,nt)),null()));
					HX_SOURCE_POS("Source/jax/JVM.hx",1487)
					::haxe::Log_obj::trace((((((HX_CSTRING("Attempting to call method ") + n) + HX_CSTRING(" in object ")) + ::Std_obj::string(obj)) + HX_CSTRING(" of type ")) + c1),hx::SourceInfo(HX_CSTRING("JVM.hx"),1487,HX_CSTRING("jax.JVM"),HX_CSTRING("solveMethodRef")));
					HX_SOURCE_POS("Source/jax/JVM.hx",1489)
					if ((::jax::JVM_obj::externs->exists(c1))){
						HX_SOURCE_POS("Source/jax/JVM.hx",1490)
						Dynamic nargs = ::Lambda_obj::array(::Lambda_obj::map(args,::jax::JVM_obj::toNativeValue_dyn()));
						HX_SOURCE_POS("Source/jax/JVM.hx",1492)
						::haxe::Log_obj::trace((((((HX_CSTRING("Calling ") + c1) + HX_CSTRING(".")) + n) + HX_CSTRING(" with ")) + ::Std_obj::string(nargs)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1492,HX_CSTRING("jax.JVM"),HX_CSTRING("solveMethodRef")));
						HX_SOURCE_POS("Source/jax/JVM.hx",1494)
						if (((n == HX_CSTRING("<init>")))){
							HX_SOURCE_POS("Source/jax/JVM.hx",1495)
							return ::jax::JValue_obj::_exter(::Type_obj::createInstance(::jax::JVM_obj::externs->get(c1),args));
						}
						else{
							HX_SOURCE_POS("Source/jax/JVM.hx",1497)
							return ::jax::JVM_obj::fromNativeValue(::Reflect_obj::callMethod(::jax::JVM_obj::externs->get(c1),::Reflect_obj::field(obj,n),nargs));
						}
					}
					else{
						HX_SOURCE_POS("Source/jax/JVM.hx",1498)
						if ((::jax::JVM_obj::classes->exists(c1))){
							HX_SOURCE_POS("Source/jax/JVM.hx",1499)
							::jax::JMethod m = ::jax::JVM_obj::classes->get(c1)->__Field(HX_CSTRING("getMethod"),true)(pool->__get(nt),pool);
							struct _Function_4_1{
								inline static int Block( Array< ::jax::JConstant > &pool,int &nt){
									{
										HX_SOURCE_POS("Source/jax/JVM.hx",1500)
										{
::jax::JConstant _switch_108 = (pool->__get(nt));
											switch((_switch_108)->GetIndex()){
												case 7: {
													int t = _switch_108->__Param(1);
													int n1 = _switch_108->__Param(0);
{
														HX_SOURCE_POS("Source/jax/JVM.hx",1500)
														return n1;
													}
												}
												;break;
												default: {
													HX_SOURCE_POS("Source/jax/JVM.hx",1500)
													return hx::Throw (HX_CSTRING("Invalid name & type"));
												}
											}
										}
									}
									return null();
								}
							};
							HX_SOURCE_POS("Source/jax/JVM.hx",1500)
							::String n1 = ::jax::JVM_obj::toNativeValue(::jax::JVM_obj::toValue(pool->__get(_Function_4_1::Block(pool,nt)),null()));
							HX_SOURCE_POS("Source/jax/JVM.hx",1501)
							Array< ::jax::JConstant > pool1 = ::jax::JVM_obj::classes->get(c1)->__Field(HX_CSTRING("const_pool"),true);
							HX_SOURCE_POS("Source/jax/JVM.hx",1502)
							{
								HX_SOURCE_POS("Source/jax/JVM.hx",1502)
								int _g = (int)0;
								Array< ::jax::JAttribute > _g1 = m->attributes;
								HX_SOURCE_POS("Source/jax/JVM.hx",1502)
								while(((_g < _g1->length))){
									HX_SOURCE_POS("Source/jax/JVM.hx",1502)
									::jax::JAttribute att = _g1->__get(_g);
									HX_SOURCE_POS("Source/jax/JVM.hx",1502)
									++(_g);
									HX_SOURCE_POS("Source/jax/JVM.hx",1503)
									::jax::JCode code = null();
									HX_SOURCE_POS("Source/jax/JVM.hx",1504)
									{
::jax::JAttribute _switch_109 = (att);
										switch((_switch_109)->GetIndex()){
											case 0: {
												::jax::JCode c2 = _switch_109->__Param(0);
{
													HX_SOURCE_POS("Source/jax/JVM.hx",1505)
													code = c2;
												}
											}
											;break;
											default: {
											}
										}
									}
									HX_SOURCE_POS("Source/jax/JVM.hx",1508)
									if (((code == null()))){
										HX_SOURCE_POS("Source/jax/JVM.hx",1509)
										hx::Throw (HX_CSTRING("Code not found"));
									}
									else{
										HX_SOURCE_POS("Source/jax/JVM.hx",1511)
										::jax::JValue res = ::jax::JVM_obj::exec(::jax::JVM_obj::classes->get(c1),code->code,args);
										HX_SOURCE_POS("Source/jax/JVM.hx",1513)
										::haxe::Log_obj::trace((((((HX_CSTRING("Result of running ") + n1) + HX_CSTRING(" with args ")) + ::Std_obj::string(args)) + HX_CSTRING(": ")) + ::Std_obj::string(res)),hx::SourceInfo(HX_CSTRING("JVM.hx"),1513,HX_CSTRING("jax.JVM"),HX_CSTRING("solveMethodRef")));
										HX_SOURCE_POS("Source/jax/JVM.hx",1515)
										return res;
									}
								}
							}
						}
					}
				}
			}
			;break;
			default: {
				HX_SOURCE_POS("Source/jax/JVM.hx",1519)
				hx::Throw (HX_CSTRING("Invalid method reference"));
			}
		}
	}
	HX_SOURCE_POS("Source/jax/JVM.hx",1522)
	return ::jax::JValue_obj::_void_dyn();
}


STATIC_HX_DEFINE_DYNAMIC_FUNC4(JVM_obj,solveMethodRef,return )

int JVM_obj::gname( ::jax::JConstant c){
	HX_SOURCE_PUSH("JVM_obj::gname")
	struct _Function_1_1{
		inline static int Block( ::jax::JConstant &c){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",1525)
				{
::jax::JConstant _switch_110 = (c);
					switch((_switch_110)->GetIndex()){
						case 7: {
							int t = _switch_110->__Param(1);
							int n = _switch_110->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",1526)
								return n;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",1527)
							return hx::Throw (HX_CSTRING("Invalid name & type"));
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",1524)
	return _Function_1_1::Block(c);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,gname,return )

int JVM_obj::solveClassRef( ::jax::JConstant ref){
	HX_SOURCE_PUSH("JVM_obj::solveClassRef")
	struct _Function_1_1{
		inline static int Block( ::jax::JConstant &ref){
			{
				HX_SOURCE_POS("Source/jax/JVM.hx",1531)
				{
::jax::JConstant _switch_111 = (ref);
					switch((_switch_111)->GetIndex()){
						case 5: {
							int i = _switch_111->__Param(0);
{
								HX_SOURCE_POS("Source/jax/JVM.hx",1532)
								return i;
							}
						}
						;break;
						default: {
							HX_SOURCE_POS("Source/jax/JVM.hx",1533)
							return hx::Throw (HX_CSTRING("Invalid class reference"));
						}
					}
				}
			}
			return null();
		}
	};
	HX_SOURCE_POS("Source/jax/JVM.hx",1530)
	return _Function_1_1::Block(ref);
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(JVM_obj,solveClassRef,return )


JVM_obj::JVM_obj()
{
}

void JVM_obj::__Mark(HX_MARK_PARAMS)
{
	HX_MARK_BEGIN_CLASS(JVM);
	HX_MARK_END_CLASS();
}

void JVM_obj::__Visit(HX_VISIT_PARAMS)
{
}

Dynamic JVM_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 2:
		if (HX_FIELD_EQ(inName,"gc") ) { return gc_dyn(); }
		break;
	case 4:
		if (HX_FIELD_EQ(inName,"init") ) { return init_dyn(); }
		if (HX_FIELD_EQ(inName,"main") ) { return main_dyn(); }
		if (HX_FIELD_EQ(inName,"exec") ) { return exec_dyn(); }
		if (HX_FIELD_EQ(inName,"copy") ) { return copy_dyn(); }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"stack") ) { return stack; }
		if (HX_FIELD_EQ(inName,"gname") ) { return gname_dyn(); }
		break;
	case 7:
		if (HX_FIELD_EQ(inName,"classes") ) { return classes; }
		if (HX_FIELD_EQ(inName,"externs") ) { return externs; }
		if (HX_FIELD_EQ(inName,"readJar") ) { return readJar_dyn(); }
		if (HX_FIELD_EQ(inName,"toValue") ) { return toValue_dyn(); }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"runClass") ) { return runClass_dyn(); }
		if (HX_FIELD_EQ(inName,"addClass") ) { return addClass_dyn(); }
		if (HX_FIELD_EQ(inName,"dor_long") ) { return dor_long_dyn(); }
		break;
	case 9:
		if (HX_FIELD_EQ(inName,"readClass") ) { return readClass_dyn(); }
		if (HX_FIELD_EQ(inName,"initArray") ) { return initArray_dyn(); }
		break;
	case 10:
		if (HX_FIELD_EQ(inName,"resolveRef") ) { return resolveRef_dyn(); }
		break;
	case 11:
		if (HX_FIELD_EQ(inName,"readJarPath") ) { return readJarPath_dyn(); }
		if (HX_FIELD_EQ(inName,"stringConst") ) { return stringConst_dyn(); }
		break;
	case 13:
		if (HX_FIELD_EQ(inName,"readAttribute") ) { return readAttribute_dyn(); }
		if (HX_FIELD_EQ(inName,"toNativeValue") ) { return toNativeValue_dyn(); }
		if (HX_FIELD_EQ(inName,"solveClassRef") ) { return solveClassRef_dyn(); }
		break;
	case 14:
		if (HX_FIELD_EQ(inName,"solveMethodRef") ) { return solveMethodRef_dyn(); }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"CLASS_REF_INDEX") ) { return CLASS_REF_INDEX; }
		if (HX_FIELD_EQ(inName,"fromNativeValue") ) { return fromNativeValue_dyn(); }
	}
	return super::__Field(inName,inCallProp);
}

Dynamic JVM_obj::__SetField(const ::String &inName,const Dynamic &inValue,bool inCallProp)
{
	switch(inName.length) {
	case 5:
		if (HX_FIELD_EQ(inName,"stack") ) { stack=inValue.Cast< Dynamic >(); return inValue; }
		break;
	case 7:
		if (HX_FIELD_EQ(inName,"classes") ) { classes=inValue.Cast< ::Hash >(); return inValue; }
		if (HX_FIELD_EQ(inName,"externs") ) { externs=inValue.Cast< ::Hash >(); return inValue; }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"CLASS_REF_INDEX") ) { CLASS_REF_INDEX=inValue.Cast< int >(); return inValue; }
	}
	return super::__SetField(inName,inValue,inCallProp);
}

void JVM_obj::__GetFields(Array< ::String> &outFields)
{
	super::__GetFields(outFields);
};

static ::String sStaticFields[] = {
	HX_CSTRING("stack"),
	HX_CSTRING("classes"),
	HX_CSTRING("externs"),
	HX_CSTRING("CLASS_REF_INDEX"),
	HX_CSTRING("resolveRef"),
	HX_CSTRING("readClass"),
	HX_CSTRING("readAttribute"),
	HX_CSTRING("toNativeValue"),
	HX_CSTRING("runClass"),
	HX_CSTRING("gc"),
	HX_CSTRING("readJarPath"),
	HX_CSTRING("readJar"),
	HX_CSTRING("addClass"),
	HX_CSTRING("init"),
	HX_CSTRING("main"),
	HX_CSTRING("toValue"),
	HX_CSTRING("exec"),
	HX_CSTRING("dor_long"),
	HX_CSTRING("initArray"),
	HX_CSTRING("fromNativeValue"),
	HX_CSTRING("copy"),
	HX_CSTRING("stringConst"),
	HX_CSTRING("solveMethodRef"),
	HX_CSTRING("gname"),
	HX_CSTRING("solveClassRef"),
	String(null()) };

static ::String sMemberFields[] = {
	String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(JVM_obj::stack,"stack");
	HX_MARK_MEMBER_NAME(JVM_obj::classes,"classes");
	HX_MARK_MEMBER_NAME(JVM_obj::externs,"externs");
	HX_MARK_MEMBER_NAME(JVM_obj::CLASS_REF_INDEX,"CLASS_REF_INDEX");
};

static void sVisitStatics(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(JVM_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(JVM_obj::stack,"stack");
	HX_VISIT_MEMBER_NAME(JVM_obj::classes,"classes");
	HX_VISIT_MEMBER_NAME(JVM_obj::externs,"externs");
	HX_VISIT_MEMBER_NAME(JVM_obj::CLASS_REF_INDEX,"CLASS_REF_INDEX");
};

Class JVM_obj::__mClass;

void JVM_obj::__register()
{
	Static(__mClass) = hx::RegisterClass(HX_CSTRING("jax.JVM"), hx::TCanCast< JVM_obj> ,sStaticFields,sMemberFields,
	&__CreateEmpty, &__Create,
	&super::__SGetClass(), 0, sMarkStatics, sVisitStatics);
}

void JVM_obj::__boot()
{
	hx::Static(stack);
	hx::Static(classes) = ::Hash_obj::__new();
	hx::Static(externs) = ::Hash_obj::__new();
	hx::Static(CLASS_REF_INDEX) = (int)5;
}

} // end namespace jax
